Вопрос: Как узнать, какой переключатель выбран с помощью jQuery?


У меня есть два переключателя и вы хотите опубликовать значение выбранного. Как я могу получить значение с помощью jQuery?

Я могу получить их все так:

$("form :radio")

Как узнать, какой из них выбран?


2251


источник


Ответы:


Чтобы получить значение выбранный radioNameэлемент формы с идентификатором myForm:

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

Вот пример:

$('#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>


3496



Использовать это..

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

366



Если у вас уже есть ссылка на группу переключателей, например:

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

Использовать filter()функции, а не find(), ( find()для нахождения элементов ребенка / потомка, тогда как filter()ищет элементы верхнего уровня в вашем выборе.)

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

Заметки: Этот ответ первоначально исправлял другой ответ, который рекомендовал использовать find(), который, похоже, с тех пор изменился. find()все еще может быть полезен для ситуации, когда у вас уже есть ссылка на элемент контейнера, но не на переключатели, например:

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

252



Это должно работать:

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

Обратите внимание, что «» используется во входном файле: проверено, а не «как», как решение Peter J


118



You can use the :checked selector along with the radio selector.

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

69



Get all radios:

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

Filter to get the one thats checked

radios.filter(":checked")

42



If you want just the boolean value, i.e. if it's checked or not try this:

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

41



Another option is:

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

35