Значение изменения jQuery с кнопку радио
у меня есть переменная с именем category
это должно изменить его значение в соответствии с выбранным переключателем. Проблема в том, что я не понимаю, что при нажатии переключателя или другого, значение изменится мгновенно.
вот код, который у меня есть:
<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>
var category = $('[name="category"]:checked').val();
мне нужно, чтобы вы автоматически изменили значение переменной category
при нажатии переключателей.
7 ответов
вам нужно изменить значение категории каждый раз, когда пользователь изменяет выбранный переключатель. Поэтому вам понадобится событие для запуска, когда пользователь нажимает на радио. Вы можете проверить скрипка
var category = null;
$("input[name='category']").click(function() {
category = this.value;
});
прикрепить обработчик событий к change
событие:
$(':radio[name="category"]').change(function() {
var category = $(this).filter(':checked').val();
});
Я думаю, тебе нужно просто что-то вроде этого:
var category;
$('radio[name="category"]').click(function(){
category=this.value;
});
var category;
$(':radio[name="category"]').change(function() {
category=this.value;
});
и это jsfiddle.net демо.
вы не должны давать один и тот же идентификатор для более чем одного элемента, вы должны использовать класс вместо этого :
<form>
Option 1<input type="radio" name="opt" class="radio" value="Option 1">
Option 2<input type="radio" name="opt" class="radio" value="Option 2">
</form>
вместо :
<form>
Option 1<input type="radio" name="opt" id="radio" value="Option 1">
Option 2<input type="radio" name="opt" id="radio" value="Option 2">
</form>
и ваш код все равно тот же и он должен работать нормально :)
вместо category
переменная use $('[name="category"]:checked').val()
везде, где вы хотите значение переключателя checked. В противном случае вы можете использовать change
или click
событие настройка checked
значение переключателей в category
переменной.
использовать .change () для того, чтобы захватить событие изменения для переключателя.