如果复选框被选中,那么我只需要得到值为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" />
当前回答
@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 );
提示“不”
其他回答
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
$("#ans").attr('checked')
会告诉你是否检查过。您还可以使用第二个参数true/false来选中/取消选中复选框。
$("#ans").attr('checked', true);
对于每个注释,在可用时使用prop而不是attr。例句:
$("#ans").prop('checked')
你可以这样执行:
$('input[id=ans]').is(':checked');
有几个选项,如....
1. $("#ans").is(':checked')
2. $("#ans:checked")
3. $('input:checkbox:checked');
如果所有这些选项都返回true,那么您可以相应地设置值。