ASP.NET C#如果使用Jquery选中复选框,则在gridview中获取第二列

时间:2013-11-10 09:33:26

标签: c# jquery asp.net gridview checkbox

我正面临这种情况,不知道如何解决它。 我有这个列和这个样本值的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>

当我运行此代码时,结果只是“未定义”。有什么问题?

请帮帮我。

1 个答案:

答案 0 :(得分: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();

此致 乌罗什