У меня есть таблица с двумя ячейками для каждой строки. Первый содержит данные, а второй содержит кнопки ввода «Изменить» и «Удалить». Чтобы сделать это ненавязчиво Ajax Я использую следующий код:jQuery цепочка и уродливое форматирование
<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() это просто функция, которая превращает фон желтый и обеспечивает «загрузку» GIF. ajaxGetEditForm() - это функция, которая делает вызов Ajax и заменяет старые данные формой ввода Edit.
Работает так, как ожидалось, но является ли их более чистым способом связать эти события? когда у меня есть $ tr.children(). fadeOut(). parent(). isLoading() ... javascript просто запускает функции. И.Е. Я хочу, чтобы он дождался завершения анимации fadeOut до того, как она начнет следующую.
'$ (это) .parent() родителя.(); 'может быть' $ (this) .closest ("tr"); ', кроме этого выглядит нормально –
Я не уверен, что кнопки внутри ссылок - хорошая идея. Можете ли вы не использовать то или другое? – meouw
Спасибо, Джон, просто выглядит грязным. – Travis