我有一個簡單的問題,希望有人能幫我解決。
我有一些負責檢查兩個分開的輸入的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文件
你應該考慮使用複選框而不是單選按鈕。
祝你有美好的一天!