我正在asp.net 中开发一个网站。我使用了一个用 RadioButton 编辑的 GridView。这是 GridView 的代码。随着这个 RadioButton GridView 正在从数据库中的表中获取值,它包含 3 列。
<asp:GridView ID="creditGridView" runat="server" Width="500" Height="210px" GridLines="None" CssClass="classGridView" >
<Columns>
<asp:TemplateField HeaderText="Pick One">
<ItemTemplate>
<asp:RadioButton ID="radBatId" runat="server" onclick= "javascript:CheckOtherIsCheckedByGVID(this);" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我使用 JavaScript 来实现功能,在 GridView 中一次选择一个 RadioButton。这是 JavaScript 代码:
function CheckOtherIsCheckedByGVID(rdBtn) {
var currentRdBtnId = rdBtn.id;
alert(currentRdBtnId);
var parent = document.getElementById("<%=creditGridView.ClientID%>");
var items = parent.getElementsByTagName("input");
for (i = 0; i < items.length; i++) {
if (items[i].id != currentRdBtnId && items[i].type == "radio") {
if (items[i].checked) {
items[i].checked = false;
}
}
else {
document.getElementById("<%=radioBtnIndex.ClientID%>").value = i;
}
}
}
当我将此功能放在包含 GridView 的同一页面中时,它工作正常。当我将此函数放在单独的 JavaScript 文件中时,它显示错误
UncaughtTypeError:无法调用 null 的方法“getElementByTagName”
这里变量 parent 正在获取 value null
。即,document.getElementById("<%=creditGridView.ClientID%>");
当函数不在同一页面中时,该语句未获取 GridView id。谁能帮我解决这个问题或给我另一种访问 GridView id 的方法?