首页 > 解决方案 > 使用 javascript/Jquery 在 Gridview 中启用/禁用文本框的问题

问题描述

提前感谢您的帮助:我有一个 Gridview,只有在激活复选框时才会激活 TextBox。我设法在Javascript中完成了这个功能。但问题是文本框默认启用(见图)。按下复选框两次后将其停用。我想解决这个问题,请你帮帮我。太感谢了 ! 看这里的图像!

这是我的代码:

<div>
       <asp:GridView ID="gvModifOuvrageNonControles" runat="server" AutoGenerateColumns="false" SkinID="MarionGridView">
            <Columns>
                <asp:BoundField DataField="MirePrincipal" HeaderText="OUVRAGE PRINCIPAL" />
                <asp:BoundField DataField="LibelleMireSecondaire" HeaderText="OUVRAGE SECONDAIRE" />
                <asp:TemplateField HeaderText="NON CONTROLE">
                    <ItemTemplate>
                        <asp:CheckBox ID="cbInspection" OnClick="grisé(this);" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField> 
                <asp:BoundField DataField="Libellel" HeaderText="LIBELLE DES MS,VI,PI,SU,CP,PL,PF" />
                <asp:TemplateField HeaderText="RAISON">
                    <ItemTemplate>
                        <asp:TextBox ID="txtCause" On runat="server"></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    <script type="text/javascript">

        function grisé(obj) {
            var rowData = obj.parentNode.parentNode;
            if (rowData.cells[2].firstElementChild.checked == false) {
                rowData.cells[4].firstElementChild.disabled = true;
            }
            else {
                rowData.cells[4].firstElementChild.disabled = false;

            }}

    </script> 

标签: javascriptc#jqueryasp.netascx

解决方案


您可以将Enable文本框的属性设置为false

<asp:TextBox ID="txtCause" runat="server" Enabled="false"></asp:TextBox>

推荐阅读