1

我已将我的用户控件 (my.ascx) 放在网页 (1.aspx) 上。my.ascx 包含 gridview、搜索文本框和搜索按钮。我需要根据在搜索按钮单击事件中在搜索文本框中输入的文本在 gridview 中显示行。这就是我所做的。

在 1.aspx 中:

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#lblNoRecords').css('display','none');

$('#btnSubmit').click(function(e)
{
    // Hide No records to display label.
    $('#lblNoRecords').css('display','none'); 
    //Hide all the rows.
    $("#GridView1 tr:has(td)").hide(); 

    var iCounter = 0;
    //Get the search box value
    var sSearchTerm = $('#txtSearch').val(); 

    //if nothing is entered then show all the rows.
    if(sSearchTerm.length == 0) 
    {
      $("#GridView1 tr:has(td)").show(); 
      return false;
    }
    //Iterate through all the td.
    $("#GridView1 tr:has(td)").children().each(function() 
    {
        var cellText = $(this).text().toLowerCase();
        //Check if data matches
        if(cellText.indexOf(sSearchTerm.toLowerCase()) >= 0) 
        {    
            $(this).parent().show();
            iCounter++;
            return true;
        } 
    });
    if(iCounter == 0)
    {
        $('#lblNoRecords').css('display','');
    }
    e.preventDefault();
})
})
</script>

在 my.ascx 中:

<asp:TextBox ID="txtSearch" runat="server" ClientIDMode="Static"
                meta:resourcekey="txtSearchResource1"></asp:TextBox>

<asp:Button ID="btnSubmit"  runat="server" ClientIDMode="Static" CssClass ="ButtonNormal" Text="Search" 
                meta:resourcekey="btnSubmitResource1" /> 

<asp:Label ID="lblNoRecords" runat="server" ClientIDMode="Static" 
                meta:resourcekey="lblNoRecordsResource1"></asp:Label>
<gridview ..........
......

但是当我点击 btnSubmit 时没有任何反应。请帮忙。

4

1 回答 1

0

尝试从以下位置替换 Gridview ID 的 jQuery 选择器实例:

 $("#GridView1 tr:has(td)")

 $("#<%= GridView1.ClientID %> tr:has(td)")
于 2012-08-20T10:39:24.363 回答