无法获取属性'的值;长度':对象为null或未定义-Javascript错误
Unable to get value of the property 'length': object is null or undefined - Javascript Error
在我的用户控件中,有一个GridView。当我选中GridView标题中的复选框时,我想选中所有的复选框。我的用户控件可以在一个页面中多次使用所以我试着这样做。
我的GridView
<asp:GridView ID="GridView" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkHeader" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkEach" runat="server" />
</ItemTemplate>
.
.
这是我的C#代码
CheckBox chkAll = gvAttachment.Controls[0].Controls[0].FindControl("chkHeader") as CheckBox;
if (chkAll != null)
{
chkAll.Attributes.Add("onclick", "SelectAllChkBox('" + chkAll.ClientID + "','" + GridView.ClientID + "');");
}
这是我的javascript
function SelectAllChkBox(value , grid) {
for (var i = 1; i < grid.all.length; i++) {
grid.all[i].checked = value.checked;
}
}
但我犯了这个错误。
Unable to get value of the property 'length': object is null or undefined
我的代码出了什么问题?
参数grid是网格视图的id(字符串),这意味着您没有"all"。不过,长度在"网格"上起作用。您没有从c#传递对象。
您需要在客户端找到所有复选框,并根据true或false值设置checked。
数组从0:开始
function SelectAllChkBox(value , grid) {
for (var i = 0; i < grid.all.length; i++) {
grid.all[i].checked = value.checked;
}
}
尝试此功能
function SelectAllChkBox(value , grid) {
var n = document.getElementById("grid").rows.length;
for (var i = 0; i < n; i++) {
grid.all[i].checked = value.checked;
}
}
相关文章:
- 开箱即用的Light Switch HTML应用程序在IE9中存在null错误
- 如何删除此JavaScript null错误
- 失败:切换弹出窗口时,条目中的null值:name=null错误
- TypeError: document.getElementById(..) 为 null - 错误消息
- 与正则表达式一起使用时无法读取属性长度 null 错误
- 未捕获的类型错误:无法设置属性'className'的null错误
- Jquery无法读取null错误的属性
- 无法读取属性'addEventListener'的null错误
- javascript中Canvas为null错误
- 无法设置null错误的innerHTML.尽管存在html ID
- JavaScript表单属性null错误
- 使用带有javascript的单选按钮..获取null错误
- 为什么我得到'无法读取属性样式为null ';错误
- JavaScript视频播放null错误
- Slick .js不能添加null错误
- 三.js:无法补间对象位置 var(获得 null 错误),但对象本身实际上是可用的
- Google Sheet Script在循环过程中出现Null错误
- 包含jquery时,$(document)为null错误
- JavaScript getElementById返回null错误
- 无法读取属性'addEventListener'的null错误,不确定原因