Saya ada soalan mudah dan harap seseorang boleh membantu saya menyelesaikannya.
Saya mempunyai beberapa kod Javascript yang bertanggungjawab untuk menyemak dua input berasingan. Namun, nampaknya hanya satu input sahaja yang boleh disemak.
Tidak kira "semak" input mana yang saya letakkan dahulu dalam Javascript, ia akan diabaikan atau ditindih, dan saya tidak tahu mengapa. Hanya input kedua akan disemak.
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;
Dalam contoh di atas, hanya input "radioButtonMobileSticky" dipilih. Walau bagaimanapun, jika saya menukar susunan dua baris terakhir kod ini, hanya input "radioButtonSticky" akan dipilih.
Saya tidak menemui sebarang jawapan dalam talian tentang mengapa perkara ini berlaku dan saya menjadi gila! Terima kasih atas sebarang bantuan!
Saya menjangkakan kedua-dua input akan dipilih tanpa mengira susunan JavaScript/JQuery "menyemak"nya.
Daripada coretan kod anda, saya dapat melihat: ini mungkin berlaku kerana anda menggunakan
input[type="radio"]
而不是input[type="checkbox"]
.Hanya satu butang radio boleh dipilih dalam kumpulan tertentu.
Lihat Dokumentasi Web MDN
Anda harus mempertimbangkan untuk menggunakan kotak pilihan dan bukannya butang radio.
Selamat hari raya!