我有一个简单的问题,希望有人能帮我解决。
我有一些负责检查两个分开的输入的Javascript代码。然而,似乎只有一个输入可以被检查。
无论我在Javascript中将哪个输入的“检查”放在第一个,都会被忽略或覆盖,我不知道为什么。只有第二个输入会被检查。
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;
在上面的示例中,只有“radioButtonMobileSticky”输入被选中。 然而,如果我交换这段代码的最后两行的顺序,只有“radioButtonSticky”输入会被选中。
我在网上没有找到任何关于为什么会发生这种情况的答案,我要疯了!感谢任何帮助!
我期望不管JavaScript/JQuery“检查”它们的顺序如何,两个输入都被选中。
从你的代码片段中我可以看到:这种情况可能发生是因为你使用了
input[type="radio"]
而不是input[type="checkbox"]
。在给定的组中只能选择一个单选按钮。
查看MDN Web文档
你应该考虑使用复选框而不是单选按钮。
祝你有美好的一天!