嗨,经过大量搜索,我得到了一个方法来检查我的复选框。但我不知道是什么问题。它的val()总是返回 。检查时以及取消选中时都会发生这种情况。我想它应该在未选中时返回 null 。帮助
$(document).ready(function(){
$('#ch').change(function(){
alert($(this).val());
});
});
和html
<input type="checkbox" id="ch"/> Check it out...
答案 0 :(得分:8)
您可以选择检查checkbox
是否已选中或未选中
alert($(this).is(":checked")); ////return true if checked
或者
alert(this.checked); //return true if checked
或者
<input type="checkbox" id="ch" checked/>
alert($(#ch).attr( "checked")); //return checked if checked
或者
alert($(this).prop( "checked")); //return true if checked
答案 1 :(得分:4)
答案 2 :(得分:2)
alert($(this).prop('checked'));
或者如果您想获取复选框的值,则需要添加value
属性,例如:
<input type="checkbox" value="your_value" id="ch"/> Check it out...
和js
$('#ch').change(function(){
alert($(this).val()); //gives you 'your_value' in any case
});
$(this)
是一个jQuery集合,您可以使用jQuery方法获取相关数据,如果您想使用.checked
,您可以执行以下任一操作:
this.checked
//or
$(this)[0].checked
这意味着:
$(this)[0] == this
演示:: jsFiddle
答案 3 :(得分:1)
尝试:
$(document).ready(function(){
$('#ch').change(function(){
alert($(this).is(':checked'));
});
});
的 DEMO FIDDLE 强>
答案 4 :(得分:0)
您需要为表单对象提供.Val()
的值属性,以返回您可以使用的内容:
<input type="checkbox" value="some_usefull_value" id="ch"/>