首页  >  问答  >  正文

为什么JavaScript输入中的第二个“checked”会覆盖第一个?

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

我有一些负责检查两个分开的输入的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粉225961749P粉225961749397 天前509

全部回复(1)我来回复

  • P粉081360775

    P粉0813607752023-09-19 10:56:50

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

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

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

    祝你有美好的一天!

    回复
    0
  • 取消回复