我正面临这种情况,不知道如何解决它。 我有这个列和这个样本值的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>
当我运行此代码时,结果只是“未定义”。有什么问题?
请帮帮我。
答案 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();
此致 乌罗什