jQueryを使用してページ上のテーブルをフィルタリングしようとしています。現在表示されている行をフェードアウトし、新しい選択に一致する行をフェードインしたいと思います。私のjQueryコードは次のようになります。
$('#details-table tr').hide();
var previousFilterResult = $();
var selects = $('#search-panel > select');
selects.change(function () {
selects.attr('disabled', 'disabled');
var filterResult = filterTable();
previousFilterResult.hide('slow', function () {
filterResult.fadeIn('slow', function () {
selects.removeAttr('disabled');
});
});
previousFilterResult = filterResult;
});
私の問題は、previousFilterResultを$()で初期化すると、previousFilterResult.hide呼び出しのコールバックにヒットしないように見えるため、コードが機能しないことです。ページにダミーのdivを配置し、previousFilterResultを$('#dummyDiv')で初期化すると、正常に機能します。
上記のコードが引き続き機能するように、ページにダミーのdivを配置せずにpreviousFilterResultを初期化する方法はありますか?
ありがとう。