选中所有复选框选中所有复选框都没有选中标签中的图像

时间:2013-10-25 06:57:02

标签: javascript

我有复选框,上面有一个标签,并有复选框图像。 当我单击复选框内部复选框被选中时,我选中并取消选中时切换标签中的图像。但是当我点击选中所有复选框时,内部会检查浏览器复选框,但标签中的图像不会像检查一样更改。 我试过这个

if(chkSelectAll)
{
    var allSelected = true;             
    for (var i = 0; i < document.forms[0].elements.length; i++)
    {
        var e = document.forms[0].elements[i];
        if (e.type == 'checkbox')
        {
            var strName="";
            strName = e.name;
            if(strName.indexOf(datalist) >= 0 && !e.checked)
            {
                allSelected = false;
                break;
            }                           
        }
    }
    if(allSelected)
        currentBox.checked = true;
    else
        currentBox.checked = false;
}

我的HTML代码是

                        全选                                              

                                                     'text ='&lt;%#GUISupport.GUIUtils.ViewEncode(DataBinder.Eval(Container.DataItem,“Label”)。ToString())%&gt;'                                 的onclick = “CheckSelectAll(此,chkSelectAllPrimaryCustomFields, 'lstPrimaryCustomFields');”                                 runat =“server”ID =“chkPrimaryCustomFields”/&gt;
                                             

任何人都可以帮助我 提前谢谢。

我想要在加载页面时加载公共代码

3 个答案:

答案 0 :(得分:0)

如果条件为真,为什么不更改标签?

for for loop change labels

for (var i = 0; i < document.forms[0].elements.length; i++) {

//change labels

}

答案 1 :(得分:0)

您的代码中根本没有更改标签,请发布此脚本指向的HTML,以便我们为您提供更详细的解决方案。

(此答案将根据回复进行编辑)。

答案 2 :(得分:0)

您可以关注此代码。 在HTML代码

<table>
            <thead>
                <tr>
                    <th
                        @using (Html.BeginForm("admin","Admin",FormMethod.Get))
                        {
                            <input type="checkbox" name="ckbCheckAll" id="ckbCheckAll" value="" onclick="checkAll();" />
                        }
                    </th>
                    <th>No</th>
                    <th>Title</th>
                </tr>
            </thead>

            @foreach(var item in Model)
            {
                i++;
                <tr>
                    <td>
                        <input type="checkbox" name="cid" id="@i" value="@item.ID" />
                    </td>
                    <td>@i</td>
                    <td>@item.Title</td>
                </tr>
            }
</table>

在javascript中使用checkAll()函数:

function checkAll() {
        var check = document.getElementById("ckbCheckAll").checked;
        for (var i = 1; i <= document.getElementsByName("cid").length; i++) {
            document.getElementById(i).checked = check;
        }
    }

以上代码正常运作。 希望能帮到你