0

Если проблема связанная с управлением полученным элементом при помощи jquery. До отправки ajax запроса, можно получить все атрибуты элемента и влиять на него как угодно, но в теле функции success не получается получить к нему доступ. Может нужно как-то передать this в тело функции? Привожу код:

/* Events after clicking on save button */
$("table").on('click', '.glyphicon-ok', function () {

var rowId = $(this).attr('id');

//Здесь работает alert($(this).attr('id'));

/* Change the icon of button */ $(this).removeClass('glyphicon-ok').addClass('glyphicon-pencil');

    $.ajax({
        url: path,
        type: 'POST',
        cache: false,
        data: data,
        success: function (response) {

       //Здесь не работает
       alert($(this).attr('id'));

       /* Change the icon of button */
        $(this).removeClass('glyphicon-ok').addClass('glyphicon-pencil');
        }
    });

});</code></pre>

Нужно получить элемент полностью, так как в случае успеха аякс запроса будут меняться его атрибуты.

vellmur
  • 525

1 Answers1

2

сделайте вот так var id= $(this).attr('id') перед аяксом

а внутри success функции используйте id

  • Спасибо за ответ. Но мне нужно получить именно this, так как мне нужно изменить его атрибуты. – vellmur Jun 29 '16 at 13:51
  • 2
    так создайте таким же образом переменную и присвойте ему $(this) перед аяксом, и уже внутри него используйте новый объект – Bogdan Gudyma Jun 29 '16 at 13:57
  • Спасибо, то что нужно) – vellmur Jun 29 '16 at 14:30