我有一个数据表,每行都有一个表单,用于更改特定行的状态。这个表单是通过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;
}
});
现在,当用户单击提交按钮时,我需要它来更改他们单击的特定按钮的类,而不是表中显示的所有按钮。我该怎么做?
查看ajaxForm插件的源代码,它将表单对象作为回调中的第四个参数!所以你可以这样做:
success: function(data, status, xhr, form){
$('#deactivate-point',form).removeClass("status-linke-activate").addClass("status-link-deactivate");
}
(另请参见:http://jsfiddle.net/fj9Bd/1/)