2

だから私はページ上のユーザーのリストが好きです。各ユーザー名はクリック可能で、ダイアログにユーザー情報が表示されます。現在、リストには静的な長さを使用しています。jquery でユーザーのリストの大きさを確認し、コードをリストに適用したいと考えています。

ここでコードをチェックしてください:

$(function() {
    var options = {
            autoOpen: false,
            width: 'auto',
            modal: true
    };
    $([1, 2, 3, 4]).each(function() {
            var num = this;
            var dlg = $('#dialog-player-' + num).dialog(options);
            $('#player-link-' + num).click(function() {
                    dlg.dialog("open");
                    return false;
            });
    });

});

ドキュメントのこのページを見て ました。そのようです:

$(function() {
    var options = {
            autoOpen: false,
            width: 'auto',
            modal: true
    };
    $("div#parent div").each(function() {
            var num = this;
            var dlg = $('#dialog-player-' + num).dialog(options);
            $('#player-link-' + num).click(function() {
                    dlg.dialog("open");
                    return false;
            });
    });

});

しかし、それはうまくいきませんでした。これを行う他の方法を知っている人はいますか?

4

3 に答える 3

2

あなたのコードにバグがあることに気づき、修正しました:

$(function() {
    var options = {
            autoOpen: false,
            width: 'auto',
            modal: true
    };
    var num = 1;
    $("div#parent div").each(function() {
            var dlg = $('#dialog-player-' + num).dialog(options);
            $('#player-link-' + num).click(function() {
                    dlg.dialog("open");
                    return false;
            });
            num = num + 1;
    });
});
于 2009-08-18T11:16:56.900 に答える
1
$(function() {
    var options = {
            autoOpen: false,
            width: 'auto',
            modal: true
    };
    $(['George', 'Ralph', 'Carmine', 'Suzy']).each(function(index, val) {
            var num = index;
            var dlg = $('#dialog-player-' + num).dialog(options);
            $('#player-link-' + num).click(function() {
                    dlg.dialog("open");
                    return false;
            });
    });
});

あなたは最初から正しい考えを持っていました。各関数によって提供されるインデックスを使用するだけです。個別のカウンターは必要ありません。

于 2011-01-14T18:33:02.310 に答える
0

ドキュメントで「子」を検索します-実行したことではなく、それぞれを使用して要素の子を循環する必要があると思います。例えば

$( "div#parent")。children('div')。each(function(){etc ...})

于 2009-08-17T10:32:52.917 に答える