【发布时间】:2014-01-25 04:27:05
【问题描述】:
我有两个用于两列的复选框,因此一旦单击全选 headerChkbox,它只应为所有 chkStatus 选中,并且与 chkUpdate 相同
但是当我要选择任何一个时,下面的代码会同时选择和取消选择。但我想让它们彼此独立。意味着当我选择 headerChkbox 时,该特定列中的所有复选框只应该被选中或取消选中其他也一样
<telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn">
<HeaderStyle Width="50px" HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:CheckBox ID="chkStatus" runat="server" Width="15px" Checked='<%# Convert.ToBoolean(Eval("isAssignJD")) %>' />
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="headerChkbox" runat="server" onclick="javascript:SelectAllCheckboxesSpecific(this);" />
</HeaderTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="CheckBoxTemplate">
<HeaderStyle Width="50px" HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:CheckBox ID="chkUpdate" runat="server" Width="15px" Checked="false" />
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="headerUpdate" runat="server" onclick="javascript:SelectAllCheckboxesSpecific(this);" />
</HeaderTemplate>
</telerik:GridTemplateColumn>
这是我的功能
function SelectAllCheckboxesSpecific(spanChk) {
// Select checkboxes that place in grid
var IsChecked = spanChk.checked;
var Chk = spanChk;
Parent = document.getElementById('ctl00_ContentPlaceHolder1_gvJobPosition');
var items = Parent.getElementsByTagName('input');
for (i = 0; i < items.length; i++) {
if (items[i].id != Chk && items[i].type == "checkbox") {
if (items[i].checked != IsChecked) {
items[i].click();
}
}
}
}
这是我的 Html 渲染代码
<tr class="rgRow" id="ctl00_ContentPlaceHolder1_gvJobPosition_ctl00__0">
<td style="display:none;">0561fb4f-e410-4d83-a0e5-6d6d68fe3dba</td><td align="left">
<span class="category1" style="display:inline-block;width:15px;"><input id="ctl00_ContentPlaceHolder1_gvJobPosition_ctl00_ctl04_chkStatus" type="checkbox" name="ctl00$ContentPlaceHolder1$gvJobPosition$ctl00$ctl04$chkStatus" checked="checked" /></span>
</td><td align="left">
<span class="category2" style="display:inline-block;width:15px;"><input id="ctl00_ContentPlaceHolder1_gvJobPosition_ctl00_ctl04_chkStatuss" type="checkbox" name="ctl00$ContentPlaceHolder1$gvJobPosition$ctl00$ctl04$chkStatuss" /></span>
</td>
【问题讨论】:
-
我用一个工作示例更新了代码,只是不要忘记包含 jQuery js 文件。
标签: javascript asp.net telerik telerik-grid