如何使用javascript选择gridview复选框创建表行

时间:2012-07-11 05:16:23

标签: c# javascript jquery asp.net

我正在使用带有复选框的gridview,我需要在检查gridview中的任何复选框时创建一个表行。我需要帮助才能使用javascript获取gridview的选定行。

GridView源代码

<asp:GridView ID="GrdCustomer" runat="server" BorderColor="#999999" CellPadding="3"
        ForeColor="Black" GridLines="Vertical" Width="640px" AllowPaging="True" AutoGenerateColumns="False"
        OnRowDataBound="GrdCustomer_RowDataBound">
        <Columns>
            <asp:TemplateField HeaderText="Select" ItemStyle-Width="50px">
                <ItemTemplate>
                    <input id="selector" onclick="javascript:bindToList(this);selectCustomers();" runat="server" type="checkbox" />
                </ItemTemplate>
                <HeaderTemplate>
                    <input id="selector" onclick="javascript:SelectDeselectAllCheckboxes(this);selectCustomers(); " runat="server"
                        type="checkbox" />
                </HeaderTemplate>
                <ItemStyle Width="50px" HorizontalAlign="Center"></ItemStyle>
            </asp:TemplateField>
            <asp:BoundField DataField="Salutation" HeaderText="Salutation">
                <ItemStyle HorizontalAlign="Center" />
            </asp:BoundField>
            <asp:BoundField DataField="Name" HeaderText="Client Name">
                <ItemStyle HorizontalAlign="Center" />
            </asp:BoundField>
            <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Email">
                <ItemStyle HorizontalAlign="Center" />
            </asp:BoundField>
            <asp:BoundField DataField="Title" HeaderText="Title">
                <ItemStyle HorizontalAlign="Center" />
            </asp:BoundField>
            <asp:BoundField DataField="Id" HeaderText="Id" />
        </Columns>
        <FooterStyle BackColor="#CCCCCC" />
        <PagerStyle BackColor="#999999" ForeColor="Black" />
        <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="#CCCCCC" />
    </asp:GridView>

在复选框检查状态(仅启动)上调用基本脚本

 function selectCustomers() {
        alert("Hey I'm over here!!!");
    }

1 个答案:

答案 0 :(得分:1)

我没有在gridview上尝试过,但您可以使用JS中元素的 parentNode 属性来选择'tr'元素。 'tr'可能是您选择的行。

例如

点击复选框后,使用以下代码

onclick="javascript:selectCustomers(this);"

然后在函数中,

function selectCustomers(chkbox) {
       var desiredparentelement = chkbox.parentNode.parentNode; // Use parent property to get tr
    }

检查你的html元素,知道复选框有多少父母。使用Mozilla或Chrome工具检查元素。