1

ユーザーコントロール(my.ascx)をWebページ(1.aspx)に配置しました。my.ascxには、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

GridviewIDのjQueryセレクターのインスタンスを次の場所から置き換えてみてください。

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

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