如何使用jquery在Gridview的单击行中查找标签文本

时间:2014-08-08 16:49:58

标签: c# jquery asp.net

当我点击行中的任何位置时,我正试图在asp.net网格视图的行内找到标签的文本。我有下面显示的gridview和我正在使用的jquery。当我点击该行时,我收到了一个javascript警告框,只是没有文字。我做错了什么?

 <asp:GridView runat="server" ID="grvAgents" AutoGenerateColumns="False" OnRowDataBound="grvAgents_OnRowDataBound"
                    CssClass="table table-bordered table-striped" AlternatingRowStyle-CssClass="even"
                    ClientIDMode="Static">
                    <AlternatingRowStyle CssClass="even" />
                    <Columns>                       
                        <asp:TemplateField HeaderText="Site" Visible="false">
                            <ItemTemplate>
                                <asp:Label ID="lblSite" CssClass="siteLbl" runat="server" Text='<%#Eval("Site") %>' ClientIDMode="Static"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

    <script type="text/javascript">
            function BindEvents() {
                $(document).ready(function (e) {
                    $('#grvAgents tr').click(function () {
                        var tr = $(this).closest('tr');
                        var lbl = tr.find('.siteLbl').text();
                        alert(lbl);
                        //                  

                });
                });
            }       

        </script>

3 个答案:

答案 0 :(得分:1)

我没有看到您的代码不起作用的原因。不过,您可以通过使用id而不是class名称引用标签来尝试替代方案。

$(function ()
{
     $('#grvAgents tr').click(function () {
        var lbl = $(this).closest('tr').find('span[id*="lblSite"]').text();
        alert(lbl);
     });
});

答案 1 :(得分:0)

试试这个

$(function ()
{
 $('#grvAgents tr').click(function () {
    alert($(this).find('.siteLbl').text());
 });
});

答案 2 :(得分:0)

因为你设置了TemplateField Visible =&#34; false&#34;所以它无法在输出html中找到。 您可以通过css隐藏控件:

<强>风格

<style type="text/css">
.hid
{
  display:none;
}
</style>

<强>模板列

<asp:TemplateField HeaderText="Site" HeaderStyle-CssClass="hid" ItemStyle-CssClass="hid">

再试一次。