我有复选框,上面有一个标签,并有复选框图像。 当我单击复选框内部复选框被选中时,我选中并取消选中时切换标签中的图像。但是当我点击选中所有复选框时,内部会检查浏览器复选框,但标签中的图像不会像检查一样更改。 我试过这个
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;
我想要在加载页面时加载公共代码
答案 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;
}
}
以上代码正常运作。 希望能帮到你