首页 文章

测试是否使用jQuery选中了复选框

提问于
浏览
559

如果选中该复选框,那么我只需要将值设为1;否则,我需要将其设为0.如何使用jQuery执行此操作?

在这种情况下, $("#ans").val() 总是给我一个权利:

<input type="checkbox" id="ans" value="1" />

20 回答

  • 1

    试试这个

    $('input:checkbox:checked').click(function(){
        var val=(this).val(); // it will get value from checked checkbox;
    })
    

    如果选中则返回false,则此标志为true

    var flag=$('#ans').attr('checked');
    

    再次,这将使cheked

    $('#ans').attr('checked',true);
    
  • 973

    您可以通过这两种方法获得值(true / false)

    $("input[type='checkbox']").prop("checked");
    $("input[type='checkbox']").is(":checked");
    
  • 0

    如果你想要整数值的检查或不尝试:

    $( “#答:检查”)的长度 .

  • 0

    首先检查值是否已选中

    $("#ans").find("checkbox").each(function(){
        if ($(this).prop('checked')==true){ 
        var id = $(this).val()
        }
    });
    

    否则设置 0

  • 4

    $( '输入[ID = ANS]')为( ':检查');

  • 0

    使用 .is(':checked') 确定是否已选中,然后相应地设置您的值 .

    More information here.

  • 4
    $("#ans").attr('checked')
    

    会告诉你它是否被检查过 . 您还可以使用第二个参数true / false来选中/取消选中该复选框 .

    $("#ans").attr('checked', true);
    

    根据评论,如果可用,请使用 prop 而不是 attr . 例如:

    $("#ans").prop('checked')
    
  • 15

    只需使用 $(selector).is(':checked')

    它返回一个布尔值 .

  • 85
    // use ternary operators
    $("#ans").is(':checked') ? 1 : 0;
    
  • 53

    Stefan Brinkmann的答案非常好,但对于初学者来说是不完整的(省略了变量赋值) . 只是为了澄清:

    // this structure is called a ternary operator
    var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;
    

    它的工作原理如下:

    var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;
    

    例:

    var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
    alert( myMath );
    

    提醒'不'

    If this is helpful, please upvote Stefan Brinkmann's answer.

  • 20

    你可以试试这个:

    $('#studentTypeCheck').is(":checked");
    
  • 0

    我之前发现了同样的问题,希望这个解决方案可以帮到你 . 首先,在复选框中添加自定义属性:

    <input type="checkbox" id="ans" value="1" data-unchecked="0" />
    

    编写一个jQuery扩展来获取值:

    $.fn.realVal = function(){
        var $obj = $(this);
        var val = $obj.val();
        var type = $obj.attr('type');
        if (type && type==='checkbox') {
            var un_val = $obj.attr('data-unchecked');
            if (typeof un_val==='undefined') un_val = '';
            return $obj.prop('checked') ? val : un_val;
        } else {
            return val;
        }
    };
    

    使用代码获取复选框值:

    $('#ans').realVal();
    

    你可以测试here

  • 2
    $('input:checkbox:checked').val();        // get the value from a checked checkbox
    
  • 6

    您还可以使用:

    $("#ans:checked").length == 1;
    
  • 3
    <input type="checkbox" id="ans" value="1" />
    

    Jquery: var test= $("#ans").is(':checked') 并返回true或false .

    在你的功能:

    $test =($request->get ( 'test' )== "true")? '1' : '0';
    
  • 7

    使用:

    $("#ans option:selected").val()
    
  • 6
    function chkb(bool){
    if(bool)
    return 1;
    return 0;
    }
    
    var statusNum=chkb($("#ans").is(':checked'));
    

    如果选中该复选框,statusNum将等于1,如果不是,则为0 .

    编辑:您也可以将DOM添加到该函数中 .

    function chkb(el){
    if(el.is(':checked'))
    return 1;
    return 0;
    }
    
    var statusNum=chkb($("#ans"));
    
  • 16

    有几个选项有...

    1. $("#ans").is(':checked') 
     2. $("#ans:checked")
     3. $('input:checkbox:checked');
    

    如果所有这些选项都返回true,那么您可以按比例设置值 .

  • 204

    当用户点击按钮时,我需要复选框的检查值 . 唯一正确的方法是使用 prop() 属性 .

    var ansValue = $("#ans").prop('checked') ? $("#ans").val() : 0;
    

    这在我的情况下工作也许有人会需要它 .

    当我尝试 .attr(':checked') 时它返回 checked 但我想要布尔值和 .val() 返回属性 value 的值 .

  • 0
    $("#id").prop('checked') === true ? 1 : 0;
    

相关问题