2017-01-23 4 views
0

コンボボックスに2つのコンボボックスとグリッドビューがあり、コンボボックスの値を変更するとグリッドビューに表示されるデータが変更されます。更新パネル内のJQueryフィルタービューのグリッドビュー

$(document).ready(function() { 
    (function ($) { 
     $('#filter').keyup(function() { 
      var rex = new RegExp($(this).val(), 'i'); 
      $('.searchable tr').hide(); 
      $('.searchable tr').filter(function() { 
       return rex.test($(this).text()); 
      }).show(); 
     }) 
    } (jQuery)); 
}); 

ユーザーが、ポストバックが発生し、コンボボックスの値を変更したときに、このすべては、ことを除いて正常に動作します:私はまた、次のスクリプトを使用して、GridViewのデータをフィルタリングするために使用されたテキストボックスを持って

テーブルのデータをリフレッシュするために、画面がリフレッシュされると点滅します。これは望ましくありません。

私は更新パネルにコントロールをラップし、scriptmanagerを含んでいます。

<asp:ScriptManager ID="SM_Items" runat="server"> 
</asp:ScriptManager> 

<asp:UpdatePanel ID="UP_Items" runat="server"> 
    <ContentTemplate> 

     //Controls in here 

    </ContentTemplate> 
</asp:UpdatePanel> 

これは、ページの点滅を停止していないと、テーブルはまだ読み込まれているが、更新パネルの内側にあるフィルターテキストボックスは、もは​​や機能します。

私は更新パネル内でスクリプトを移動しようとしましたが、これは違いはありませんでした。

すべてのヘルプは非常に私はそれが非同期に更新パネルがリロードされる前に、あなたのフィルタイベントをフィルタテキストボックスに登録されているため、これがあると信じて

答えて

0

を高く評価しています。 .keyupを使用して#filterに直接登録することは一度のイベントです。テキストボックスが削除または再度追加された場合は、イベントハンドラがアタッチされません。

$('body').on('keyup', '#filter', function() { 

}); 
関連する問題