0

我正面临这种情况,不知道如何解决。我有这个列和这个示例值的 Gridview:

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

我在从选中复选框的动态创建的 gridview 中获取第二列的值时遇到问题。所以我检查了 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
    });

下面是我的gridview代码:

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