Jquery each () цикл функции с Ajax - PullRequest
0 голосов
/ 05 апреля 2011

Я хочу заменить значения в каждом классе div на мой результат ajax, но я не могу добавить свой результат таблицы в отдельный класс div во время цикла. Я знаю, что $(this).append(table) размещен неправильно, потому что он не находится вне запроса ajax. Как я могу изменить это, чтобы получить эффект, который я хотел?

Мой сценарий таков:

$('.developer_badgesarea').each(function(){
    // get the div class value to perform ajax
    var player_id = $(this).html();
    var table;

    // if condition to conduct ajax
    if(player_id != 'None'){

        $.ajax({
            // ajax stuff here
            success: function(result){
                //table created here
                $(this).append(table);
            }
        });
    }
});

1 Ответ

3 голосов
/ 05 апреля 2011

Проблема - ваша ссылка "this" в функции успеха ajax.Он ссылается на функцию обратного вызова, а не на элемент dom, на который вы собираетесь ссылаться.<pre> $('.developer_badgesarea').each(function(){ // element reference to your div, that you'll access inside your ajax call var elm = $(this); // get the div class value to perform ajax var player_id = elm.html(); var table;</p> <pre><code>// if condition to conduct ajax if(player_id != 'None'){ $.ajax({ // ajax stuff here success: function(result){ //table created here elm.append(table); } }); }

});

...