如果复选框被选中,那么我只需要得到值为1;否则,我需要得到它为0。我如何使用jQuery做到这一点?
$("#ans").val()在这种情况下总是会给我一个right:
<input type="checkbox" id="ans" value="1" />
如果复选框被选中,那么我只需要得到值为1;否则,我需要得到它为0。我如何使用jQuery做到这一点?
$("#ans").val()在这种情况下总是会给我一个right:
<input type="checkbox" id="ans" value="1" />
当前回答
我发现下面的方法对我有用,混合了其中一个答案,但是有if语句。
$('#checkbox').on('change', function () {
let checkbox_true;
checkbox_true = $('#checkbox').prop("checked") ? 1 : 0 ;
if (checkbox_true === 1) {
alert('Yes');
} else {
alert('no');
}
})
其他回答
只需使用$(selector).is(':checked')
它返回一个布尔值。
试试这个
$('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);
你可以这样执行:
$('input[id=ans]').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").attr('checked')
会告诉你是否检查过。您还可以使用第二个参数true/false来选中/取消选中复选框。
$("#ans").attr('checked', true);
对于每个注释,在可用时使用prop而不是attr。例句:
$("#ans").prop('checked')