选择所有输入类型复选框

时间:2015-03-11 11:06:30

标签: javascript html

我无法使用以下代码选中所有复选框:

cell = row.insertCell(0);
if (tblname == "tblAttributes1") 
{
    el = document.createElement('input');
    el.setAttribute('type', 'checkbox');
    el.setAttribute('name', 'nodeID');
    el.setAttribute('value', chkValue);
    el.setAttribute('onclick', function()
    {
        Toggle( "top_checkbox", this, "nodeID" )
    });
}

和html标签是:

<input type="checkbox" name="top_checkbox" value="checkbox" title="Select/Deselect All" onClick="ToggleAll( this, 'nodeID' )">

2 个答案:

答案 0 :(得分:0)

如果通过“选择”表示您希望他们在其中加上勾选标记,则表示您正在寻找checked属性。一般来说,你正在使用setAttribute,你真的最好不要使用事物的反射属性(特别是onclick,因为你不能跨浏览器工作) 。所以:

cell = row.insertCell(0);
if (tblname == "tblAttributes1") 
{
    el = document.createElement('input');
    el.type = 'checkbox';
    el.name = 'nodeID';
    el.value = chkValue;
    el.checked = true; // Makes it checked
    el.onclick = function()
    {
        Toggle( "top_checkbox", this, "nodeID" )
    };
}

您可能还想在某个阶段将el附加到某个位置;大概是你在你没有展示的代码中这样做。


另外,我建议使用现代事件处理技术而不是onclick,例如addEventListener(IE8及更早版本的attachEvent)。

答案 1 :(得分:0)

您正在设置一个函数作为onclick属性,因此function.toString()将被设置为不能成为有效值的属性值,而是您要将函数引用设置为值el&#39; onclick属性

el.onclick = function () {
    Toggle("top_checkbox", this, "nodeID")
};