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

Raj*_*eev 585 javascript checkbox jquery jquery-selectors

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

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

<input type="checkbox" id="ans" value="1" />
Run Code Online (Sandbox Code Playgroud)

And*_*ula 1005

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

更多信息在这里.


xax*_*xon 209

$("#ans").attr('checked') 
Run Code Online (Sandbox Code Playgroud)

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

$("#ans").attr('checked', true);
Run Code Online (Sandbox Code Playgroud)

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

$("#ans").prop('checked')
Run Code Online (Sandbox Code Playgroud)

  • .prop()用于jQuery 1.6+库; 工作完美!谢谢 (12认同)

Sim*_*aws 90

只是用 $(selector).is(':checked')

它返回一个布尔值.


小智 56

// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

  • 做什么的?is(':checked')已经返回一个布尔值 (7认同)

cra*_*wap 21

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

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

它的工作原理如下:

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;
Run Code Online (Sandbox Code Playgroud)

例:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );
Run Code Online (Sandbox Code Playgroud)

提醒'不'

如果这有用,请提升Stefan Brinkmann的答案.


MAn*_*aik 18

你可以试试这个:

$('#studentTypeCheck').is(":checked");
Run Code Online (Sandbox Code Playgroud)


alp*_*vin 15

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

<input type="checkbox" id="ans" value="1" data-unchecked="0" />
Run Code Online (Sandbox Code Playgroud)

编写一个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;
    }
};
Run Code Online (Sandbox Code Playgroud)

使用代码获取复选框值:

$('#ans').realVal();
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试一下

  • ...因为jQuery被称为"写更少做"的库 (10认同)

nob*_*ody 8

$('input:checkbox:checked').val();        // get the value from a checked checkbox
Run Code Online (Sandbox Code Playgroud)


小智 7

<input type="checkbox" id="ans" value="1" />
Run Code Online (Sandbox Code Playgroud)

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

在你的功能:

$test =($request->get ( 'test' )== "true")? '1' : '0';
Run Code Online (Sandbox Code Playgroud)


Far*_*uti 6

您还可以使用:

$("#ans:checked").length == 1;
Run Code Online (Sandbox Code Playgroud)