2017-12-04 3 views
-2

以下のグリッドでは、行のすべてのチェックボックスがオフの場合、各行のテキストボックスを無効にしたかったのです。チェックボックスが連続してチェックされている場合は、テキストボックスを有効にする必要があります。チェックされた列に基づいてasp.netグリッド行でテキストボックスを読み取る

jqueryを使用してクライアント側でこれを募集しました。助けてください 以下は私が書いたコードです。いくつかのコード行は、それをもっと最適化する方法を繰り返すのですか?

$(function() { 
 
      $('#MainContent_G2 > tbody > tr').each(function (index, row) { 
 
       var checkedArr = $(row).find('input[type="checkbox"]:checked'); 
 
       if (checkedArr.length === 0) { 
 
        var textbox = $(row).find('input[type="text"]'); 
 
        $(textbox).attr('readonly', true); 
 
       } 
 

 
       $(row).find('input[type="checkbox"]').each(function(index, checkbox) { 
 
        $(checkbox).change(function() { 
 
         if (this.checked) { 
 
          $(this).closest("tr").find('input[type="text"]').attr('readonly', false); 
 
         } 
 

 
         var checkedArr = $(row).find('input[type="checkbox"]:checked'); 
 
         if (checkedArr.length === 0) { 
 
          var textbox = $(row).find('input[type="text"]'); 
 
          $(textbox).attr('readonly', true); 
 
         } 
 
        }); 
 
       }); 
 

 
      }); 
 
     });
<asp:GridView ID="G2" ShowHeader="False" runat="server" AutoGenerateColumns="False" OnRowDataBound="G2_RowDataBound"> 
 
    <HeaderStyle BorderStyle="Solid" HorizontalAlign="Left" BackColor="LightGray" /> 
 
    <FooterStyle BorderWidth="1px" BorderStyle="Solid" BackColor="LightGray" /> 
 
    <RowStyle CssClass="gridRows" /> 
 
    <Columns> 
 
    <asp:BoundField DataField="REVIEWQUESTIONS_DESC" /> 
 
    <asp:TemplateField> 
 
     <ItemTemplate> 
 
     <asp:CheckBox ID="chkbox_Yes" runat="server" Checked='<%# Eval("ANSWER_YES")%>' /> 
 
     </ItemTemplate> 
 
    </asp:TemplateField> 
 
    <asp:TemplateField> 
 
     <ItemTemplate> 
 
     <asp:CheckBox ID="chkbox_No" runat="server" Checked='<%# Eval("ANSWER_NO")%>' /> 
 
     </ItemTemplate> 
 
    </asp:TemplateField> 
 
    <asp:TemplateField> 
 
     <ItemTemplate> 
 
     <asp:CheckBox ID="chkbox_NA" runat="server" Checked='<%# Eval("ANSWER_NA")%>' /> 
 
     </ItemTemplate> 
 
    </asp:TemplateField> 
 
    <asp:TemplateField> 
 
     <ItemTemplate> 
 
     <asp:TextBox runat="server" CssClass="NoLine" ID="txtbox_Notes" Text='<%# Eval("INCIDENTREVIEW_NOTES")%>'></asp:TextBox> 
 
     </ItemTemplate> 
 
    </asp:TemplateField> 
 
    </Columns> 
 
</asp:GridView>

+0

はあなたのコードを共有します。 –

+0

今すぐにお助けください – Bharathg

+0

あなたはこれまでに何を試みましたか?あなたにコードを書くための仕様を私たちに与えるだけではなく、StackOverflowはコード作成サービスではありません。いくつかのコードを書いて、あなたが遭遇した問題について質問してください。 –

答えて

0

あなたはこのような何かを行うことができ:私たちはあなたを助けることができるように

Text='<% # Eval("NameYourUsing") %>' Enabled="false" 
関連する問題