jQuery success:function {} проблема

У меня есть несколько 'избранных' элементов на странице. Когда я выбираю некоторые опции, запрос ajax отправляется к серверу, и элемент, смежный с этим 'выбором', должен быть обновлен со значением ответа. Я ожидал, что следующий код будет работать:

$(".vars").live("change", function() { //selected something in <select> list
    $.ajax({
        type: "POST",
        url "someurl.php",
        data: {somedata},
        success: function(html) {
            $this.next().html(html); //this does not update .next() element.
        }
    });
});

Если я заменяю

$(this).next().html(html);

с

alert(html);

Я вижу, что запрос ajax был успешен. Кроме того, это работает, только если существует только один 'выбор' на странице, иначе пустое всплывающее окно появляется.

1
задан ufw 2 May 2010 в 15:39
поделиться

2 ответа

Я считаю, что «это» не то, что вы думаете, когда упоминается в вашем обратном вызове. Попробуйте следующее:

$(".vars").live("change", function() { //selected something in <select> list 
    var $driver = $(this);
    $.ajax({ 
        type: "POST", 
        url "someurl.php", 
        data: {somedata}, 
        success: function(html) { 
            $driver.next().html(html); //this does not update .next() element. 
        } 
    }); 
}); 
1
ответ дан 3 September 2019 в 00:54
поделиться
$(".vars").live("change", function() { //selected something in <select> list
    var $this = $(this);
    $.ajax({
        type: "POST",
        url "someurl.php",
        data: {somedata},
        success: function(html) {
            $this.next().html(html); //this does not update .next() element.
        }
    });
});
1
ответ дан 3 September 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: