我在我的 aspx 页面中使用了 gridview.. 因为我在每一行都有一个复选框,包括标题..
通过单击标题复选框,它将选中所有复选框,包括 gridview 中禁用的复选框。我需要避免选中禁用的复选框
这是我的 GridView 代码:
<asp:GridView ID="CrowdRatingGrid" runat="server" AutoGenerateColumns="false" AllowPaging="true" PageSize="4" OnPageIndexChanging="CrowdRatingGrid_PageIndexChanging" ViewStateMode="Enabled">
<PagerSettings Mode="Numeric" PageButtonCount="4" />
<Columns>
<asp:TemplateField HeaderStyle-BackColor="#DBE2E2" HeaderStyle-Width="60px" HeaderStyle-HorizontalAlign="Center"
HeaderStyle-Height="62px">
<HeaderTemplate>
<asp:CheckBox ID="SelectAll" runat="server" onclick="SelectAll(this)" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="CheckRow" CssClass="SelectRow" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是我选择所有复选框的js代码:
function SelectAll(objRef) {
var GridView = objRef.parentNode.parentNode.parentNode;
var inputList = GridView.getElementsByTagName("input");
for (var i = 0; i < inputList.length; i++) {
var row = inputList[i].parentNode.parentNode;
if (inputList[i].type == "checkbox" && objRef != inputList[i]) {
if (objRef.checked) {
inputList[i].checked = true;
}
else {
inputList[i].checked = false;
}
}
}
}
请帮助实现这一点?我应该在 js 中做哪些更改才能达到我的要求?
最佳答案
将条件更改为
if (objRef.checked && !inputList[i].disabled) {
inputList[i].checked = true;
}
else {
inputList[i].checked = false;
}
关于c# - 单击全选复选框时,如何防止选中禁用的 gridview 复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805688/