0

私はこの状況に直面しており、それを解決する方法がわかりません。この列とこのサンプル値を含む Gridview があります。

CHECKBOX   NAME   SURNAME
-------------------------
Checkbox1  John   Smith
Checkbox2  Jerry  Rose
Checkobx3  Will   Mathews

チェックボックスがオンになっている動的に作成されたグリッドビューから 2 番目の列から値を取得する際に問題があります。したがって、Checkbox2 をチェックすると、この行の Name 列から値を取得したいと思います。この場合、それは「ジェリー」になります。

また、Checkbox1 と Checkbox2 をチェックした場合、"John" と "Jerry" をコンマで区切って取得したいと考えています。

これまでの私のコード:

    $('#<%=GridView1.ClientID %> tbody >tr >td >input:checked').each(function () {      
           alert($(this).find("td").eq(2).html());
      var values+=$(this).find("td").eq(2).html()+","; //values splitted by comma
    });

以下は私のグリッドビューコードです:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
            <Columns>
                <asp:TemplateField HeaderText="Select">
                    <ItemTemplate>
                        <asp:CheckBox ID="chkSelected" runat="server"  />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
                    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
                    <HeaderTemplate>
                        <asp:CheckBox ID="chkBxHeader"
                            onclick="javascript:SelectAllCheckboxes1(this);" runat="server" />
                    </HeaderTemplate>
                </asp:TemplateField>

このコードを実行すると、結果は「未定義」になります。なにが問題ですか?

私を助けてください。

4

1 に答える 1

1

修正されたJavaScriptコードは次のとおりです。

var result = $('#<%=GridView1.ClientID %> tr td input[id*="chkSelected"][type=checkbox]:checked').map(function () {

    return $(this).closest('tr').find('td').eq(2).text();

    }).get().join();

よろしく、 ウロス

于 2013-11-10T10:47:01.290 に答える