首页 文章

找出是否用JQuery检查了单选按钮?

提问于
浏览
516

我可以设置一个单选按钮来检查罚款,但我想要做的是设置一种“监听器”,当检查某个单选按钮时它会激活 .

Take, for example the following code:

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

它添加了一个检查属性,一切都很好,但我怎么去添加一个警报 . 例如,在没有点击功能的帮助下检查单选按钮时会弹出?

15 回答

  • 134

    由于Parag的解决方案给我一个错误,这是我的解决方案(结合David Hedlund和Parag的):

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

    这对我来说很好!

  • 7

    解决方案很简单,因为在选中某个单选按钮时你只需要“听众” . 这样做: -

    if($('#yourRadioButtonId').is(':checked')){ 
    // Do your listener's stuff here. 
    }
    
  • 3

    如果您不想使用单击函数,请使用Jquery更改函数

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

    这应该是您正在寻找的答案 . 如果您使用的是1.9.1以上的Jquery版本,请尝试使用on as live函数已被弃用 .

  • -2
    $("#radio_1").prop("checked", true);
    

    对于1.6之前的jQuery版本,请使用:

    $("#radio_1").attr('checked', 'checked');
    
  • 9

    试试这个

    if($('input[name="radiobutton"]:checked').length == 0) {
            alert("Radio buttons are not checked");
        }
    
  • 5

    $(' . radio-button-class-name') . is('checked')对我不起作用,但下一个代码运行良好:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
         // radio button is checked
        }
    
  • 17

    动态生成单选按钮检查无线电获取值

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

    关于更改动态单选按钮

    $('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});
    
  • 37

    另一种方法是使用prop (jQuery >= 1.6)

    $("input[type=radio]").click(function () {
        if($(this).prop("checked")) { alert("checked!"); }
    });
    
  • 947

    Working with all types of Radio Buttons and Browsers

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

    Working Jsfiddle Here

  • 30

    //通过课程检查

    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         
    }
    
  • 2

    试试这个:

    alert($('#radiobutton')[0].checked)
    
  • 2

    ...谢谢你们......我需要的只是所选单选按钮的“值”,其中集合中的每个单选按钮都有不同的ID ...

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

    对我有用......

  • 1
    $('#element').click(function() {
       if($('#radio_button').is(':checked')) { alert("it's checked"); }
    });
    
  • 4

    您必须绑定复选框的click事件,因为更改事件在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();
    
  • 6

    如果您有一组共享相同名称属性的单选按钮,并且在提交或某些事件时您要检查是否已选中其中一个单选按钮,则可以通过以下代码执行此操作:

    $(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!');
        }
      });
    });
    

    Source

    jQuery API Ref

相关问题