jquery + datatables + при успешном вызове ajax, изменить класс кнопки отправки, которая была нажата - PullRequest
1 голос
/ 10 января 2012

У меня есть таблица данных, в каждой строке которой есть форма для изменения статуса конкретной строки. эта форма вызывается через библиотеку ajaxForm ().

<form action="map/statuschange/289.html" method="post" accept-charset="utf-8" class="point-actions-form  form-status" id="point-status-change-289">
    <input type="submit" name="status-link" value="" id="deactivate-point" class="status-link status-link-activate">
</form>

это ajaxForm () js:

$('.form-status').ajaxForm({
    dataType: 'json',
    type: 'POST', 
    success: function(){
        if ($('.point-actions-form > .status-link').hasClass('status-link-deactivate')){
            $(this).removeClass('status-link-deactivate').addClass('status-link-activate');
        }else{
            $(this).removeClass('status-link-activate').addClass('status-link-deactivate');
        }
        showResponseForm;
    }
});

Теперь, когда пользователь нажимает на кнопку отправки, мне нужно, чтобы она изменила класс той конкретной кнопки, на которую они нажали, а не все кнопки, которые появляются в таблице. Как я могу сделать это?

1 Ответ

2 голосов
/ 10 января 2012

Глядя на исходный код плагина ajaxForm, он дает вам объект формы в качестве четвертого параметра в обратном вызове!Таким образом, вы можете сделать это:

success: function(data, status, xhr, form){
    $('#deactivate-point',form).removeClass("status-linke-activate").addClass("status-link-deactivate");
}

(см. Также: http://jsfiddle.net/fj9Bd/1/)

...