Rumah  >  Soal Jawab  >  teks badan

Mengapakah "disemak" kedua dalam input JavaScript menimpa yang pertama?

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.

P粉225961749P粉225961749397 hari yang lalu514

membalas semua(1)saya akan balas

  • P粉081360775

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

    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!

    balas
    0
  • Batalbalas