У меня есть таблица с двумя ячейками для каждой строки. Первый содержит данные, а второй содержит кнопки ввода «Редактировать» и «Удалить». Чтобы сделать этот ненавязчивый AJAX, я использую код ниже:
<tr>
<td>I have some data for you</td>
<td>
<a href="edit" class="edit"><input type="button" value="Edit" /></a>
<a href="delete" class="delete"><input type="button" value="Delete" /></a>
</td>
</tr>
$("a.edit").live("click",function(){
$tr = $(this).parent().parent();
$tr.children().fadeOut(400,function(){
$tr.loadingGif(function(){
$tr.ajaxGetEditForm();
});
});
return false;
});
.loadingGif () - это просто функция, которая превращает фон в желтый цвет и предоставляет изображение «загрузки». ajaxGetEditForm () - это функция, которая выполняет вызов Ajax и заменяет старые данные формой ввода Редактировать.
Это работает, как и ожидалось, но действительно ли это более чистый способ связать эти события? когда у меня есть $ tr.children (). fadeOut (). parent (). isLoading () ... javascript просто выполняет функции. И.Е. Я хочу, чтобы он дождался завершения анимации fadeOut, прежде чем запустится следующий.