我在gridview的edittemplate中选中的复选框上禁用文本框时遇到问题 这是代码:
<asp:TemplateField HeaderText="Navigation Path">
<ItemTemplate>
<asp:CheckBox ID="chkNavPath" runat="server" Enabled="false" />
<asp:Label ID="lblNavPath" runat="server" Text='<%# Bind("NavPath") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="chkEditNavPath" runat="server" Text="Open same image on click?" onclick="GetCheckStatus(this);" Enabled="true" />
<asp:TextBox ID="txtEditNavPath" runat="server" Text='<%# Bind("NavPath") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="chkNewNavPath" runat="server" Text="Open same image on click?" Enabled="true" />
<asp:TextBox ID="txtNewNavPath" runat="server" Text=""></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
Javascript:
<script language="javascript" type="text/javascript">
function GetCheckStatus(obj) {
var GridViewP = document.getElementById('<%=GridViewPDF.ClientID %>')
debugger;
if (GridViewP.rows[obj.parentElement.parentElement.rowIndex].cells[4].childNodes[0].type == "checkbox") {
if (GridViewP.rows[obj.parentElement.parentElement.rowIndex].cells[4].childNodes[0].checked) {
GridViewP.rows[obj.parentElement.parentElement.rowIndex].cells[4].childNodes[1].enabled = false; // Enable your control here
}
}
}
</script>
我无法访问js代码,我是新手。
答案 0 :(得分:0)
使用以下java脚本代码来执行该客户端 用以下
替换GetCheckStatus函数<script language="javascript" type="text/javascript">
function GetCheckStatus(obj) {
if (obj.checked) {
obj.nextSibling.nextSibling.disabled = true;
}
else {
obj.nextSibling.nextSibling.disabled = false;
}
}
</script>
您必须使用onchange事件调用此函数,而不是单击复选框,如下面的
onchange="GetCheckStatus(this);"
编辑:
<script language="javascript" type="text/javascript">
function GetCheckStatus(obj) {
if (obj.childNodes[0].checked) {
obj.nextSibling.nextSibling.disabled = true;
}
else {
obj.nextSibling.nextSibling.disabled = false;
}
}
</script>
使用onchange事件应用函数