JQuery AJAX данные не печатаются в родительском элементе

0

моя проблема в том, что когда я пытаюсь показать значение с помощью ajax-вызова, он показывает значение "generic", но когда я пытаюсь показать его в родительской строке, он ничего не показывает. вот мой код ajax

$.ajax({
    type: 'POST',
    url: 'http://localhost/medical/index.php/purchase/test',
    data: 'data=' + pid,
    success: function() {
        $.get('http://localhost/medical/index.php/purchase/test', function(data) {
            $(this).parents('tr').find('.generic').html(data); // doesn't show the value
            $( ".generic" ).html(); // this show the value but in all table row
    });
}});

Заранее спасибо

Теги:
codeigniter-2

1 ответ

1
Лучший ответ

Проблема называется областью. this в контексте анонимной функции означает нечто иное, чем внешнее. Вы можете сделать это так

var that = this;
$.ajax({
    ...
    success: function() {
        $.get(..., function(data) {
            $(that).parents('tr').find('.generic').html(data);
        });
    }
});
  • 0
    @RahatIslamKhan Не за что. Чтобы объяснить немного больше: (в основном) каждый раз, когда вы пишете function(){ в JavaScript, this присваивается что-то новое (в этой области).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню