1

次のコードを使用して、テーブル内のデータをフィルター処理し、loaderこれを実行中に ID 付きの画像を表示しています。

私の問題は、それが隠れていないことであり、何が間違っているのかわかりません。

非表示にする前にアラートを追加してみましたが、アラートは表示されますが、画像を表示すると正しく機能しません。私は何を間違っていますか?inputFilterはフィルターの入力data_fm_opの名前であり、テーブルの名前です。

JavaScript

$('#inputFilter').change(function () {
$('#loader').show();
var that = this;
$('tbody tr').each(function () {
    if ($(this).text().indexOf($(that).val()) == -1) {
        $('#data_fm_op').animate({
            marginTop: 0
        }, 50, function () {
            $(this).find('tbody tr').eq(i).hide();
        });
    } else {
        $('#data_fm_op').animate({
            marginTop: 0
        }, 50, function () {
            $(this).find('tbody tr').eq(i).show();
        });
    }
});
$('#loader').hide();

});

これがjsFiddleです: http://jsfiddle.net/m6hLR/

4

3 に答える 3

0

image タグにid属性を追加していません。変化 :

<img src="https://www.vocalware.com/images/ajax_loader.gif" height="19" width="19">

に :

<img src="https://www.vocalware.com/images/ajax_loader.gif" id="loader" height="19" width="19">

JsFiddle : http://jsfiddle.net/subins2000/m6hLR/7/

于 2013-10-21T15:17:21.773 に答える
0

コードの構造を理解するために HTML を使用した jsfiddle がないとかなり難しいですが、代わりにこれを試してください。

http://jsfiddle.net/MRa8q/3/

$('#inputFilter').change(function() {
        $('#loader').show();
        var that = this;
        $('tbody tr').each(function() {
            if ($(this).text().indexOf($(that).val()) == -1) {
                $('#data_fm_op').animate({
                    marginTop: 0
                }, 50, function() {
                    $(this).hide();
                });
            } else {
                $('#data_fm_op').animate({
                    marginTop: 0
                }, 50, function() {
                    $(this).show();
                });
            }
        });
    $('#loader').hide();
});
于 2013-10-21T15:14:05.680 に答える