J'ai une question simple et j'espère que quelqu'un pourra m'aider à la résoudre.
J'ai du code Javascript chargé de vérifier deux entrées distinctes. Cependant, il semble qu’une seule entrée puisse être vérifiée.
Peu importe la « vérification » de l'entrée que je mets en premier dans Javascript, elle est ignorée ou remplacée, et je ne sais pas pourquoi. Seule la deuxième entrée sera vérifiée.
var radioButtonSticky = stickyATC.find('.swatch[data-option-index="' + i + '"] :radio[value="' + variant.options[i] +'"]'); var radioButtonMobileSticky = mobileStickyAtc.find('.swatch-dropdown__sliding-option-selector-outer-container[data-option-index="' + i + '"] :radio[value="' + variant.options[i] +'"]'); radioButtonSticky.get(0).checked = true; radioButtonMobileSticky.get(0).checked = true;
Dans l'exemple ci-dessus, seule l'entrée "radioButtonMobileSticky" est sélectionnée. Cependant, si j'inverse l'ordre des deux dernières lignes de ce code, seule l'entrée "radioButtonSticky" sera sélectionnée.
Je n’ai trouvé aucune réponse en ligne quant à la raison pour laquelle cela se produit et je deviens fou ! Merci pour toute aide!
Je m'attendrais à ce que les deux entrées soient sélectionnées quel que soit l'ordre dans lequel JavaScript/JQuery les "vérifie".
D'après votre extrait de code, je peux voir : cela peut arriver parce que vous utilisez
input[type="radio"]
而不是input[type="checkbox"]
.Un seul bouton radio peut être sélectionné dans un groupe donné.
Voir la documentation Web MDN
Vous devriez envisager d'utiliser des cases à cocher au lieu de boutons radio.
Bonne journée !