0

こんにちは、私は次のグリッドビューを持っています

 <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:TemplateField>
            <HeaderTemplate>
                <asp:CheckBox runat="server" ID="chkAll" />
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox runat="server" ID="chkEmployee" />
            </ItemTemplate>
        </asp:TemplateField>
                <asp:TemplateField HeaderText="Id">
                    <ItemTemplate>
                        <asp:Label ID="lblId" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Company">
                    <ItemTemplate>
                        <asp:Label ID="lblCompany" runat="server" Text='<%# Eval("Company") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>              
            </Columns>
        </asp:GridView>

次のjqueryコードを使用して、選択したチェックボックスのグリッドビューを反復処理し、各行の列の値を取得しています。コードは各行をうまく反復しますが、値を選択することはできません。

 $(document).ready(function () {
           $("#submit").click(function () {
               alert("clicked");
               $("#<%=GridView3.ClientID%> input[id*='chkEmployee']:checked").each(function () {

               var values=$(this).find("td:Company")+$(this).find("td:Id");
               });
           });
       });

次の行は機能していません。

 var values=$(this).find("td:Company")+$(this).find("td:Id");

助けてください!ありがとう

4

2 に答える 2

1

私はあなたのためにサンプルを作りました。

$('[type="button"]').live("click", function () {
  $('tr [type="checkbox"]:checked').parent().parent().each(function () {    
     if ($(this).find('input[id*="lblCompany"]').length > 0) {
   alert($(this).find('input[id*="lblCompany"]').val() + "---" +    $(this).find('input[id*="lblId"]').val())
}

});

 });

フィドルデモ

あなたの問題に役立つことを願っています。

于 2013-07-25T13:02:17.737 に答える
0
<asp:GridView ID="gvUserInfo" runat="server" >  
 <HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />  
 <Columns>  
    <asp:TemplateField>  
    <ItemTemplate>  
             <asp:CheckBox ID="chkChild" runat="server" />  
           <asp:Label ID="lblId" runat="server" Text='<%# Eval("Id") %>'></asp:Label>  
            <asp:Label ID="lblCompany" runat="server" Text='<%# Eval("Company") %>'> </asp:Label>  
           <asp:HiddenField ID="hdnId" runat="server" Value='<%#Eval("Id") %>' />  
         <asp:HiddenField ID="hdnCompany" runat="server" Value='<%#Eval("Company") %>' />  
       </ItemTemplate>  
    </asp:TemplateField>  
    </Columns>  
   </asp:GridView>  
   </div>  
    <input type="button" id="btnGet" value="Get Selected Values" /><br /><br />  
    <b>Select UserNames:</b><label id="lbltxt"/>


   <script type="text/javascript">      
$(document).ready(function () {  
    $('#btnGet').click(function () {  
        var hdntxt = '';  
        $("input[name$=chkChild]:checked").each(function () {  
            hdntxt += "," + $(this).siblings("input[name$=lblId]").val()  
        });  
        $('#lbltxt').text(hdntxt.substring(1, hdntxt.length))  
    });  
});  
      </script>

それが役立つことを願っています

于 2013-07-25T15:48:50.067 に答える