如果复选框被选中,那么我只需要得到值为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" />
当前回答
$("#id").prop('checked') === true ? 1 : 0;
其他回答
你可以通过这两种方法得到值(true/false)
$("input[type='checkbox']").prop("checked");
$("input[type='checkbox']").is(":checked");
@StefanBrinkmann的回答很好,但对初学者来说不完整(省略了变量赋值)。澄清一下:
// 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 );
提示“不”
// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
我发现下面的方法对我有用,混合了其中一个答案,但是有if语句。
$('#checkbox').on('change', function () {
let checkbox_true;
checkbox_true = $('#checkbox').prop("checked") ? 1 : 0 ;
if (checkbox_true === 1) {
alert('Yes');
} else {
alert('no');
}
})
你可以这样执行:
$('input[id=ans]').is(':checked');