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

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

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

当前回答

首先检查值是否被检查

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

否则设置为0值

其他回答

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

它返回一个布尔值。

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"));

你还可以使用:

$("#ans:checked").length == 1;
$('input:checkbox:checked').val();        // get the value from a checked checkbox
 $("#id").prop('checked') === true ? 1 : 0;