如果复选框被选中,那么我只需要得到值为1;否则,我需要得到它为0。我如何使用jQuery做到这一点?

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

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

当前回答

试试这个

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

此处flag为真,否则为假

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

同样,这将使复选框

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

其他回答

你可以试试这个:

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

我最近经历了一个案例,当用户单击按钮时,我需要检查复选框的值。唯一正确的方法是使用prop()属性。

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

这在我的情况下是有效的,也许有人会需要它。

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

首先检查值是否被检查

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

否则设置为0值

你可以这样执行:

$('input[id=ans]').is(':checked');     

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

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