2010-02-16 2 views
2

У меня есть таблица с двумя ячейками для каждой строки. Первый содержит данные, а второй содержит кнопки ввода «Изменить» и «Удалить». Чтобы сделать это ненавязчиво 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 до того, как она начнет следующую.

+2

'$ (это) .parent() родителя.(); 'может быть' $ (this) .closest ("tr"); ', кроме этого выглядит нормально –

+1

Я не уверен, что кнопки внутри ссылок - хорошая идея. Можете ли вы не использовать то или другое? – meouw

+0

Спасибо, Джон, просто выглядит грязным. – Travis

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^