使用javascript / jquery在Gridview中启用/禁用文本框的问题

时间:2019-12-02 13:03:46

标签: javascript c# jquery asp.net ascx

在此先感谢您的帮助:我有一个Gridview,仅当复选框被激活时,文本框才被激活。我设法用Java语言执行此功能。但是问题在于默认情况下该文本框是启用的(参见图片)。在两次按下复选框后将其禁用。我想解决这个问题,请您帮帮我。非常感谢 ! Look the image here !!

这是我的代码:

<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> 

1 个答案:

答案 0 :(得分:0)

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

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