jQuery表单checkbox详解

要判断checkbox是否被勾选 首先在input里面,如果你要默认勾选选项,你不能直接在html里面这样写:

[code]

[/code]

一般以上代码是用html默认勾选。可是你如果用到jquery的ajax提交表单,不管你有没勾选,都会提交。因为你的判断不准。
[code]
if (checkbox.attr(‘checked’)){

}
[/code]
比如上面的判断,就算你钩掉了选中,还是有值会提交。因为你钩掉了之后html并没有变。你可以用jQuery改变html。所以在你的input里面最好不要写 checked=”checked”
如:
[code]
jQuery(“#sKeepLogin”).attr(‘checked’) == “checked” ? 1 : 0
[/code]

还有一种判断:
[code]
if($(“input[type=’checkbox’]”).prop(“checked”))
[/code]

这是在jquery1.6以上才可以用。可是今天我测试了下,就是有问题。我明显加载的是juqery1.7,还是说prop方法不能用。

我只好改成:
[code]
var val = $(“.bottomimg .box_info input[type=’checkbox’]”).attr(“checked”);
if(val==”checked” || val==true){

}

[/code]
这里按我最早理解
if(val==”checked”)
应该这样就能搞定,可是在某种情况下还是有问题。val的值会变成true
所以就变成上面那样。

好了先这样吧。

最近用了这个 :

if($(this).is(“:checked”))