Как определить, выбраны ли мои переключатели?JQuery: Как определить, была ли выбрана радиокнопка?
Например:
if (radio_button_selected) {
// do something
} else {
// do something else
}
Как определить, выбраны ли мои переключатели?JQuery: Как определить, была ли выбрана радиокнопка?
Например:
if (radio_button_selected) {
// do something
} else {
// do something else
}
Вы можете использовать этот селектор, чтобы определить, есть ли проверены:
jQuery("input[name='my_button_group']:checked")
Так, например:
if (jQuery("input[name='my_button_group']:checked")) {
...
}
else {
...
}
Почему мне нужна **. длина> 0 **? – StaceyH
@StaceyH - вы не в JavaScript, но это гораздо более быстрый селектор, чем другой ответ (из-за 'input'). –
@Nick Craver ... не был уверен, что вы можете увидеть мои комментарии из моего сообщения .. но посмотрите –
if ($("input[name='yourRadioName']:radio:checked").length) {
} else {
}
@Nick Craver ... Есть разница в методе Джастина против моего. ': radio' гарантирует, что выбран переключатель, а не только какой-либо зарегистрированный вход с именем« yourRadioName ». Однако вы правы, используя ввод, который будет выполняться быстрее. –
Если у вас есть ваш переключатель rb
уже выбирается с помощью других средств, вы можете сделать:
var rb = $('whatever selector');
// other code
if (rb.is(':checked'))
{
// code
}
+1 за возможность повторного использования rb для чего-то еще в коде (например, получение val()) – Ben
@jelbourn 'rb.checked' - лучший выбор - он быстрее и читабельнее. –
@ Šime Vidas: 'checked' не является свойством объекта списка jquery. Фактический объект DOM имеет свойство 'checked'. – jelbourn
Если у вас есть ссылка на элемент уже, вы можете использовать его checked
свойство:
$('input[type=radio]').focus(function(){
// "this" is the element that was clicked
if (this.checked) {
// do something
} else {
// do something else
}
});
Разве это не бессмысленно, так как если пользователь «нажал» радиокнопку, он всегда будет «проверен», поэтому вы НИКОГДА не дойдете до состояния ELSE вашего кода выше – StaceyH
@StaceyH Очень хорошо точка. Изменено, чтобы «сфокусировать», чтобы проиллюстрировать мою точку зрения. – lonesomeday
Этот вопрос был задан до много раз. Пожалуйста, найдите ответ, прежде чем задавать вопрос. http://stackoverflow.com/questions/4138300/validating-a-form-with-a-radio-button/4138350#4138350 – zzzzBov