Радиокнопка проверила обработку событий

В моем приложении мне нужна группа радио, в которой всякий раз, когда проверяется радио-кнопка, возникает предупреждение, чтобы я мог опубликовать его значение в сообщении ajax с помощью jQuery.

Не могли бы вы помочь мне, пожалуйста, как я могу это сделать в jQuery?


person tarique    schedule 28.04.2010    source источник


Ответы (5)


Попробуйте что-то вроде этого:

$(function(){
  $('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      alert($(this).val());
    }
  });
});

Если вы присвоите своим переключателям класс, вы можете заменить код $('input[type="radio"]') на $('.someclass').

person Sarfraz    schedule 28.04.2010
comment
@ Дэвид Мердок: да, верно, вы могли бы использовать change. - person Sarfraz; 28.04.2010
comment
$.click() не вызывается при использовании клавиатуры или другого элемента управления для управления элементами формы. Функция щелчка работает не во всех ситуациях. - person e-info128; 25.02.2017

Обновление 2017 года: привет! Это ужасный ответ. Не используйте его. В старые времена этот тип использования jQuery был обычным явлением. И, наверное, тогда это работало. Просто прочитайте его, поймите, что это ужасно, а затем перейдите (или проголосуйте против, или что-то еще) к одному из других ответов, которые лучше подходят для сегодняшнего jQuery.


$("input[type=radio]").change(function(){
    alert( $("input[type=radio][name="+ this.name + "]").val() );
});
person David Murdoch    schedule 28.04.2010
comment
Можете ли вы просто сделать $(this).val()? - person n s; 04.03.2014
comment
Мне потребовалось некоторое время, чтобы понять, что здесь делает $("input[type=radio][name="+ this.name + "]").val(). Не могли бы вы отредактировать свой пост и изменить его на alert( $(this).val() ); Я полагаю, что это было причиной отрицательных голосов. - person Andrew Surzhynskyi; 07.06.2014
comment
@Applejack: не меняйте что-то правильное, просто добавьте другое. Это лучший ответ, чем alert( $(this).val() ); - person jimjim; 08.11.2016
comment
$.change() не вызывается при отключении радио. Эта функция действительно onCheck. - person e-info128; 25.02.2017
comment
Согласитесь с Эпплджек, ответ должен быть изменен (или предан забвению, потому что он неправильный ;-)). См.: plnkr.co/edit/563jmzFvukpqHlA0HnvC?p=preview. Он сработает, когда произойдет проверка-изменение, но всегда будет иметь одно и то же значение. - person Adam Plocher; 07.03.2017
comment
@ e-info128 снятие отметки с радио не должно быть проблемой ... это как бы противоречит цели переключателя. - person Adam Plocher; 07.03.2017

HTML-код:

<input type="radio" name="theName" value="1" id="option-1">
<input type="radio" name="theName" value="2">
<input type="radio" name="theName" value="3">

Код Javascript:

$(document).ready(function(){
    $('input[name="theName"]').change(function(){
        if($('#option-1').prop('checked')){
            alert('Option 1 is checked!');
        }else{
            alert('Option 1 is unchecked!');
        }
    });
});

В нескольких радио с именем «theName» определите, когда опция 1 отмечена или не отмечена. Работает во всех ситуациях: управление щелчком, использование клавиатуры, использование джойстика, автоматическое изменение значений из других динамических функций и т. д.

person e-info128    schedule 25.02.2017

Вы можете просто использовать метод change JQuery, чтобы проверить значение текущего радио с помощью следующего кода:

$(document).on('change', '[type="radio"]', function() {
    var currentlyValue = $(this).val(); // Get the radio checked value
        
    alert('Currently value: '+currentlyValue); // Show a alert with the current value
});

Вы можете изменить селектор '[type="radio"]' для класса или идентификатора, который вы хотите.

person Radames E. Hernandez    schedule 04.04.2018

person    schedule
comment
каким бы правильным это ни было, без объяснения того, почему это ответ, он ничему не научит. А учитывая, что рассматриваемому вопросу более 8 лет, это совсем не делает его полезным. - person jwenting; 22.08.2018