诡异的checkbox
jQuery操作checkbox时,可以用attr('checked', true), attr('checked', false);但这种方法有时会出问题,那就是:就算checkbox控件里面存在checked="checked",checkbox也不一定会被勾选,有人说用prop('checked', true),prop('checkbox', false);但我用了后,发现居然没有checked="checked"这个属性,就算怎么点checkbox也没有,所以只能用唯一的方法了:用js原生的checked来做。具体如下(下面的代码是在js的onchenge函数里面的,不是jQuery的change绑定事件里面的,并不是一定要用onchenge,只是我的项目中不能绑定事件):
jQuery操作checkbox时,可以用attr('checked', true), attr('checked', false);但这种方法有时会出问题,那就是:就算checkbox控件里面存在checked="checked",checkbox也不一定会被勾选,有人说用prop('checked', true),prop('checkbox', false);但我用了后,发现居然没有checked="checked"这个属性,就算怎么点checkbox也没有,所以只能用唯一的方法了:用js原生的checked来做。具体如下(下面的代码是在js的onchenge函数里面的,不是jQuery的change绑定事件里面的,并不是一定要用onchenge,只是我的项目中不能绑定事件):
oDesigner.find('input[name=notempty_chb]').get(0).οnchange=function() {
if ($(this).attr('checked')) {
$(this).attr('checked', false);//这个也是迫于无奈加上去的,因为我在修改checked的值时,发现控件没有添加checked="checked"属性,不知道为什么,但这个加上去完全没有影响,attr('checked', false)操作后会把checked="checked"去掉而已。
this.checked=false;
} else {
$(this).attr('checked', true);//这个同理,attr('checked', true)不添加上checked="checked"
this.checked=true;
}
}