为什么JavaScript输入中的第二个'checked”会覆盖第一个?
P粉225961749
P粉225961749 2023-09-18 20:59:21
0
1
556

我有一个简单的问题,希望有人能帮我解决。

我有一些负责检查两个分开的输入的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“检查”它们的顺序如何,两个输入都被选中。

P粉225961749
P粉225961749

全部回复(1)
P粉081360775

从你的代码片段中我可以看到:这种情况可能发生是因为你使用了input[type="radio"]而不是input[type="checkbox"]

在给定的组中只能选择一个单选按钮。
查看MDN Web文档

你应该考虑使用复选框而不是单选按钮。

祝你有美好的一天!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板