使用javascript从gridview中的checked复选框中获取值

时间:2013-01-28 12:17:41

标签: javascript asp.net gridview

我有gridview控件,其中列包含选择行的复选框,我还在标题模板中有另一个复选框,用于选择所有行目的..

现在我希望使用javascript从所选复选框(所有选中或可能是4到5个选中的复选框)中获取值,当用户取消选中所选复选框时,其值不应传递给javascript函数或应为空。

 <asp:gridview id="gvFriends" runat="server" autogeneratecolumns="False">
    <columns>
        <asp:ImageField DataImageUrlField="PictureUrl" HeaderText="Picture" />
        <asp:BoundField DataField="Name" HeaderText="Name" />

        <asp:TemplateField>
            <HeaderTemplate>
                <asp:CheckBox ID="chkSelectAll" runat="server" Text="Select All" />
            </HeaderTemplate>
            <ItemTemplate>


  <input id="Checkbox1" type="checkbox" value='<%#Eval("id")%>' />
            </ItemTemplate>
        </asp:TemplateField>

    </columns>
</asp:gridview>

2 个答案:

答案 0 :(得分:0)

我建议你使用jQuery来完成这项任务。

您可以在此处查看如何获取复选框值: http://jquery-howto.blogspot.ru/2008/12/how-to-check-if-checkbox-is-checked.html

答案 1 :(得分:0)

这会在您将页面呈现给客户端后生成许多复选框元素 HTML

使用 jQuery ,您可以获得与以下内容相同的值

$('<%= gvFriends.ClientName%>').find('input[type=checkbox]').eq(i).is(':checked')

将i替换为您想要的元素的索引

另一个解决方案是添加rel =“chk&lt;%#Eval(id)%&gt;”到复选框

$('<%= gvFriends.ClientName%>').find('input[rel=chk'+ id +']').is(':checked')