使用javascript查找置于gridview内的复选框和文本框

Mic*_*per 6 javascript c# asp.net checkbox gridview

我希望将复选框的值放在网格视图中.如果选中复选框,则应启用该行中的文本框,如果再次取消选中该文本框,则文本框应清除并禁用.几小时后我问了这个问题,但仍然没有得到满意的答复.我试过这样的.

//我的网格代码

<asp:GridView ID="DeptGrid" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="DeptId" HeaderText="ID"/>
                    <asp:BoundField DataField="DeptName" HeaderText="Department"/>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:CheckBox ID="addToCompanyBox"  onClick="EnableHODBox()" runat="server" />
                        </ItemTemplate>
                        <HeaderTemplate>
                            Add
                        </HeaderTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:TextBox ID="hodNameBox" runat="server" Width="200px" Enabled="false"></asp:TextBox>
                        </ItemTemplate>
                        <HeaderTemplate>
                            Dept Head
                        </HeaderTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

//我的javascript代码

<script type="text/javascript">
 function EnableHODBox() {
     //alert('hello');
     var GridView = document.getElementById('<%=DeptGrid.ClientID %>');
     //var GridView = document.getElementById('');
     var DeptId;
     if (GridView.rows.length > 0) {
         for (Row = 1; Row < GridView.rows.length; Row++) {
            // DeptId = GridView.rows.cell[0];
             if (GridView.rows[Row].cell[3].type == "checkbox")
             // var chkbox = GridView.rows[Row].cell[3].type == "checkbox"
                 (GridView.rows[Row].cell[3].type).checked = true;
         }
     }
 }
 </script>
Run Code Online (Sandbox Code Playgroud)

Muh*_*tar 1

您可以使用onclickJavaScript 来代替OncheckedChangedCheckBox 服务器端事件。

<asp:CheckBox ID="CheckBox2" runat="server" onclick="Javascript:JSfunctionName();" />
Run Code Online (Sandbox Code Playgroud)

编辑:

var GridView = document.getElementById('<%=DeptGrid.ClientID %>')
Run Code Online (Sandbox Code Playgroud)

编辑:根据您在评论中的要求

 if (GridView.rows[Row].cell[2].type == "checkbox")
 {
    if (GridView.rows[Row].cell[2].childNodes[0].checked)
    {
       GridView.rows[Row].cell[3].childNodes[0].disabled=false;// Enable your control here
    }
 }
Run Code Online (Sandbox Code Playgroud)