日期:2014-05-16  浏览次数:20406 次

Checkbox的checked属性是不是需要DOM编程才能改变?
因为我通过DOM创建的Checkbox的checked值不能改变,一直是默认的false。
当你点击checkbox时,页面上确实打勾了,但是用alert调试怎么还是显示为false?

代码如下:
cell   =   row.insertCell();//checkbox位于第三个cell
obj   =$new( " <input   name= 'searchInIllegible '/> ");
obj.setAttribute( "type ", "checkbox ");
cell.appendChild(obj);
//.................
function   retrive()
{
        var   obj   =   row.cells(2).firstChild;//能够成功获取这个checkbox
        if(obj.checked)//无论是否打勾,这里都是false
        {
                  bIllegibility   =   true;
        }
}

------解决方案--------------------
确定obj是checkbox?alert(obj.outerHTML)看看是什么
------解决方案--------------------
var obj = row.cells(2).firstChild
这应该是text吧
------解决方案--------------------
var obj = row.cells(2).firstChild;//能够成功获取这个checkbox

alert(obj.tagName)//看看是不是undefined,是的话就是因为代码中有回车
if(obj.checked)//无论是否打勾,这里都是false
{
bIllegibility = true;
}

//注意里面修改checked属性的地方不能加引号,例如
a.checked= "false "//这样是错误的
应为
a.checked=false