Выясните, включен ли переключатель с помощью JQuery?

Я могу установить переключатель правильно, но я хочу настроить своего рода "прослушиватель", который активируется при проверке определенного переключателя.

Возьмите, например, следующий код:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});

он добавляет проверенный атрибут, и все хорошо, но как бы я пошел добавив предупреждение. Например, это всплывающее окно, когда установлен переключатель без помощи функции щелчка?

+539
16 февр. '10 в 11:33
источник поделиться
17 ответов
$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it checked"); }
});
+994
16 февр. '10 в 11:38
источник

Связанные вопросы


Похожие вопросы

Если у вас есть группа переключателей, имеющих один и тот же атрибут имени, а после отправки или какого-либо события вы хотите проверить, был ли отмечен один из этих переключателей, вы можете сделать это просто следующим кодом:

$(document).ready(function(){
  $('#submit_button').click(function() {
    if (!$("input[name='name']:checked").val()) {
       alert('Nothing is checked!');
        return false;
    }
    else {
      alert('One of the radio buttons is checked!');
    }
  });
});

Источник

jQuery API Ref

+140
01 июл. '11 в 6:01
источник

В качестве решения Parag я сделал ошибку для меня, здесь мое решение (сочетающее Дэвида Хедлунда и Парага):

if (!$("input[name='name']").is(':checked')) {
   alert('Nothing is checked!');
}
else {
   alert('One of the radio buttons is checked!');
}

Это отлично сработало для меня!

+38
07 июн. '13 в 13:26
источник

Вам нужно будет связать событие клика с этим флажком, так как событие изменения не работает в IE.

$('#radio_button').click(function(){
    // if ($(this).is(':checked')) alert('is checked'); 
    alert('check-checky-check was changed');
});

Теперь, когда вы программно меняете состояние, вам также нужно вызвать это событие:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();
+31
16 февр. '10 в 11:57
источник

//Проверка класса

if($("input:radio[class='className']").is(":checked")) {
     //write your code         
}

//Проверить имя

if($("input:radio[name='Name']").is(":checked")) {
         //write your code         
}

//Проверка данных

if($("input:radio[data-name='value']").is(":checked")) {
         //write your code         
}
+18
06 янв. '14 в 11:51
источник

Решение будет простым. Поскольку вам просто нужны "слушатели", когда установлен определенный переключатель. Сделайте это: -

if($('#yourRadioButtonId').is(':checked')){ 
// Do your listener stuff here. 
}
+9
24 мая '17 в 9:10
источник

Другой способ - использовать prop (jQuery >= 1.6):

$("input[type=radio]").click(function () {
    if($(this).prop("checked")) { alert("checked!"); }
});
+9
19 сент. '15 в 13:25
источник

Если вам не нужна функция щелчка используйте функцию изменения JQuery

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});

Это должен быть ответ, который вы ищете. если вы используете версию JQuery выше 1.9.1 попробуйте использовать, поскольку функция live была устарела.

+6
02 мая '13 в 7:49
источник

... Спасибо, ребята, все, что мне было нужно, это "значение" проверенной радиокнопки, где у каждого переключателя в наборе был другой идентификатор...

 var user_cat = $("input[name='user_cat']:checked").val();

работает для меня...

+5
14 сент. '13 в 12:08
источник

Работа со всеми типами кнопок и браузеров радиосвязи

if($('#radio_button_id')[0].checked) {
   alert("radiobutton checked")
}
else{
   alert("not checked");
}

Рабочий Jsfiddle здесь

+4
01 июн. '16 в 7:24
источник

динамическая сгенерированная радиокамера Проверить значение радиоприемника

$("input:radio[name=radiobuttonname:checked").val();

При изменении динамической радио кнопки

$('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});
+3
18 мая '16 в 7:47
источник

$('. radio-button-class-name'). is ('checked') не работает для меня, но следующий код работал хорошо:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
     // radio button is checked
    }
+2
03 июл. '17 в 14:19
источник

попробуйте это

    if($('input[name="radiobutton"]:checked').length == 0) {
        alert("Radio buttons are not checked");
    }
+2
30 дек. '14 в 10:37
источник

Попробуйте следующее:

alert($('#radiobutton')[0].checked)
+1
01 мар. '16 в 13:03
источник
if($('#radio_button_id')[0].checked) {
   alert("r_b checked !")
}
else{
   alert("r_b not checked !");
}

этот код может решить проблему

0
07 июн. '19 в 12:56
источник

jQuery по-прежнему популярен, но если вы не хотите иметь никаких зависимостей, см. ниже. Короткая и понятная функция, чтобы узнать, установлен ли переключатель на ES-2015:

function getValueFromRadioButton( name ){
  return [...document.getElementsByName(name)]
         .reduce( (rez, btn) => (btn.checked ? btn.value : rez), null)
}

console.log( getValueFromRadioButton('payment') );
<div>  
  <input type="radio" name="payment" value="offline">
  <input type="radio" name="payment" value="online">
  <input type="radio" name="payment" value="part" checked>
  <input type="radio" name="payment" value="free">
</div>
0
30 апр. '19 в 9:20
источник
$("#radio_1").prop("checked", true);

Для версий jQuery до версии 1.6 используйте:

$("#radio_1").attr('checked', 'checked');
-3
27 авг. '16 в 5:27
источник

Посмотрите другие вопросы по меткам или Задайте вопрос