标签:
在设置checked时,如
$("#checkbox").attr("checked",true);
页面显示checked属性已添加,但是未被选中(没打勾),
在如下代码中没有问题:
function tree_item_checked(cl,type){
if($("#item_"+cl).is(":checked")) {
$("input[key=‘tree_item_checkbox‘]").each(function(){
if($.trim($(this).attr("id"))!=("item_"+cl)){
$(this).attr("checked",false);
}
});
$("#superNode").val(cl);
} else{
$("#superNode").val("");
}
}
这里只设置取消选中,运行正常。
如果需要通过点击按钮或者超链接刷新checkbox选中状态,如下:
function(rowId, status, e){
if (!$("#item_"+rowId).is(":checked")){
$("#item_"+rowId).attr("checked",true);
$("#superNode").val(rowId);
$("input[key=‘tree_item_checkbox‘]").each(function(){
if($.trim($(this).attr("id"))!=("item_"+rowId) &&
typeof($("#item_"+rowId).attr("checked"))!="undefined"){
$(this).attr("checked",false);
}
});
} else {
$("#superNode").val("");
$("#item_"+rowId).attr("checked",false);
}
}
会产生无法选中的问题。这里将attr改为prop方法运行正确:
function(rowId, status, e){
if (!$("#item_"+rowId).is(":checked")){
$("#item_"+rowId).prop("checked",true);
$("#superNode").val(rowId);
$("input[key=‘tree_item_checkbox‘]").each(function(){
if($.trim($(this).attr("id"))!=("item_"+rowId) &&
typeof($("#item_"+rowId).attr("checked"))!="undefined"){
$(this).prop("checked",false);
}
});
} else {
$("#superNode").val("");
$("#item_"+rowId).prop("checked",false);
}
}
该方法是jquery1.6新增,建议使用prop方法给属性赋值。
笔记,备忘
标签:
原文地址:http://my.oschina.net/u/2284472/blog/510345