Heim > Fragen und Antworten > Hauptteil
Ich habe eine einfache Frage und hoffe, dass mir jemand bei der Lösung helfen kann.
Ich habe einen Javascript-Code, der für die Prüfung zweier separater Eingaben verantwortlich ist. Es scheint jedoch, dass nur eine Eingabe überprüft werden kann.
Egal welche Eingabe-„Prüfung“ ich in Javascript zuerst setze, sie wird ignoriert oder überschrieben, und ich weiß nicht warum. Es wird nur die zweite Eingabe überprüft.
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;
Im obigen Beispiel ist nur der Eingang „radioButtonMobileSticky“ ausgewählt. Wenn ich jedoch die Reihenfolge der letzten beiden Zeilen dieses Codes vertausche, wird nur der Eingang „radioButtonSticky“ ausgewählt.
Ich habe online keine Antwort darauf gefunden, warum das passiert, und ich werde verrückt! Vielen Dank für jede Hilfe!
Ich würde erwarten, dass beide Eingaben ausgewählt werden, unabhängig von der Reihenfolge, in der JavaScript/JQuery sie „überprüft“.
P粉0813607752023-09-19 10:56:50
从你的代码片段中我可以看到:这种情况可能发生是因为你使用了input[type="radio"]
而不是input[type="checkbox"]
。
在给定的组中只能选择一个单选按钮。
查看MDN Web文档
你应该考虑使用复选框而不是单选按钮。
祝你有美好的一天!