首頁  >  問答  >  主體

為什麼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 天前510

全部回覆(1)我來回復

  • P粉081360775

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

    從你的程式碼片段我可以看到:這種情況可能發生是因為你使用了input[type="radio"]而不是input[type="checkbox" ]

    在給定的群組中只能選擇一個單選按鈕。
    查看MDN Web文件

    你應該考慮使用複選框而不是單選按鈕。

    祝你有美好的一天!

    回覆
    0
  • 取消回覆