Pertanyaan Bagaimana saya tahu tombol radio mana yang dipilih melalui jQuery?


Saya memiliki dua tombol radio dan ingin memposting nilai yang dipilih. Bagaimana saya bisa mendapatkan nilai dengan jQuery?

Saya bisa mendapatkan semuanya seperti ini:

$("form :radio")

Bagaimana saya tahu yang mana yang dipilih?


2289
2018-02-27 19:53


asal


Jawaban:


Untuk mendapatkan nilai dari terpilih  radioName item formulir dengan id myForm:

$('input[name=radioName]:checked', '#myForm').val()

Inilah contohnya:

$('#myForm input').on('change', function() {
   alert($('input[name=radioName]:checked', '#myForm').val()); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
  <input type="radio" name="radioName" value="1" /> 1 <br />
  <input type="radio" name="radioName" value="2" /> 2 <br />
  <input type="radio" name="radioName" value="3" /> 3 <br />
</form>


3532
2018-02-27 19:58



Gunakan ini..

$("#myform input[type='radio']:checked").val();

369
2018-01-07 00:45



Jika Anda sudah memiliki referensi ke grup tombol radio, misalnya:

var myRadio = $("input[name=myRadio]");

Menggunakan filter() berfungsi, bukan find(). (find() adalah untuk mencari elemen anak / keturunan, sedangkan filter() mencari elemen tingkat atas dalam pilihan Anda.)

var checkedValue = myRadio.filter(":checked").val();

Catatan: Jawaban ini pada awalnya mengoreksi jawaban lain yang direkomendasikan untuk digunakan find(), yang tampaknya telah berubah. find() masih bisa berguna untuk situasi di mana Anda sudah memiliki referensi ke elemen penampung, tetapi tidak ke tombol radio, misalnya:

var form = $("#mainForm");
...
var checkedValue = form.find("input[name=myRadio]:checked").val();

256
2018-02-09 18:25



Ini seharusnya berfungsi:

$("input[name='radioName']:checked").val()

Perhatikan "" digunakan di sekitar input: diperiksa dan tidak seperti solusi Peter J


118
2018-03-30 22:29



Anda dapat menggunakan: pemilih pemilih bersama dengan pemilih radio.

 $("form:radio:checked").val();

69
2018-02-27 20:00



Jika Anda hanya menginginkan nilai boolean, yaitu jika dicentang atau tidak coba ini:

$("#Myradio").is(":checked")

42
2017-08-30 20:27



Dapatkan semua radio:

var radios = jQuery("input[type='radio']");

Filter untuk mendapatkan yang dicentang

radios.filter(":checked")

42
2017-09-01 17:55



Pilihan lainnya adalah:

$('input[name=radioName]:radio:checked').val()

35
2017-09-21 19:35



$("input:radio:checked").val();

25
2017-10-16 20:20



Beginilah cara saya menulis formulir dan menangani peredaran radio yang diperiksa.

Menggunakan formulir yang disebut myForm:

<form id='myForm'>
    <input type='radio' name='radio1' class='radio1' value='val1' />
    <input type='radio' name='radio1' class='radio1' value='val2' />
    ...
</form>

Dapatkan nilainya dari formulir:

$('#myForm .radio1:checked').val();

Jika Anda tidak memposting formulir, saya akan menyederhanakannya lebih lanjut dengan menggunakan:

<input type='radio' class='radio1' value='val1' />
<input type='radio' class='radio1' value='val2' />

Kemudian mendapatkan nilai yang dicentang menjadi:

    $('.radio1:checked').val();

Memiliki nama kelas pada input memungkinkan saya untuk dengan mudah mengatur input ...


19
2017-09-21 16:19



Dalam kasus saya, saya memiliki dua tombol radio dalam satu bentuk dan saya ingin mengetahui status setiap tombol. Di bawah ini berfungsi untuk saya:

// get radio buttons value
console.log( "radio1: " +  $('input[id=radio1]:checked', '#toggle-form').val() );
console.log( "radio2: " +  $('input[id=radio2]:checked', '#toggle-form').val() );


    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="toggle-form">
  <div id="radio">
    <input type="radio" id="radio1" name="radio" checked="checked" /><label for="radio1">Plot single</label>
    <input type="radio" id="radio2" name="radio"/><label for="radio2">Plot all</label>
  </div>
</form>


18
2017-08-02 17:09