Bagaimana saya menggunakan JQuery untuk menemukan tombol radio berdasarkan nilainya?
Jawaban:
Coba ini:
$(":radio[value=foobar]")
Ini akan memilih semua tombol radio dengan atribut value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Saya menggunakan jQuery 1.6 dan ini tidak berhasil untuk saya: $(":radio[value=foobar]").attr('checked',true);
Sebaliknya, saya menggunakan: $('[value="foobar"]').attr('checked',true);
dan itu berfungsi dengan baik.
Kode sebenarnya yang saya gunakan membersihkan radio terlebih dahulu dan menggunakan prop
alih-alihattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Ini juga bisa dicapai dengan ini:
$('input[type="radio"][value="aaa"]').val();
Ini akan memilih radio yang memiliki nilai aaa
Dengan .filter()
metode:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
kemudian mengembalikan'aaa'
katakanlah Anda memiliki sesuatu seperti ini di HTML:
<fieldset>
<input type="radio" name="UI_opt" value="alerter" checked> Alerter<br/>
<input type="radio" name="UI_opt" value="printer"> Printer<br/>
<input type="radio" name="UI_opt" value="consoler"> Consoler<br/>
</fieldset>
lalu hal semacam ini berhasil.
$("fieldset input[name='UI_opt'][checked]").val()
Pemilih penuh akan terlihat seperti ini:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
mengingat Anda mungkin memiliki lebih dari satu grup tombol radio seperti ini
<input name="ShipToBillingAddress" type="radio" value="True" checked="checked">
<input name="ShipToBillingAddress" type="radio" value="False">
<input name="SomethingElse" type="radio" value="True" checked="checked">
<input name="SomethingElse" type="radio" value="False">
Menggunakan pemilih ID seperti ini (contoh berikutnya) tidak baik karena Anda tidak boleh memiliki banyak elemen dengan ID yang sama. Saya berasumsi seseorang yang menemukan pertanyaan ini sudah mengetahui bahwa ini buruk.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Berikut ini tentang :radio
mungkin atau mungkin tidak menarik
Karena: radio adalah ekstensi jQuery dan bukan bagian dari spesifikasi CSS, kueri yang menggunakan: radio tidak dapat memanfaatkan peningkatan kinerja yang disediakan oleh metode DOM querySelectorAll () asli. Untuk kinerja yang lebih baik di peramban modern, gunakan [type = "radio"] sebagai gantinya.