Я пытаюсь адаптировать show/hide/mini-accordion Энди Лэнгтона (http://andylangton.co.uk/jquery-show-hide) для работы внутри таблицы. Я хочу создать список событий с формой подтверждения, прикрепленной к каждому событию. После нажатия кнопки «Подтвердить» в последней ячейке или строке я хотел бы, чтобы форма, связанная с этим конкретным событием, была раскрыта.
Код Энди использует
$('.toggle')
.prev()
.append('<a href="#" class="toggleLink">'+showText+'</a>');
для динамического добавления ссылки переключения (кнопка подтверждения) непосредственно перед скрытой формой. Однако при этом ссылка добавляется в строку таблицы, а не в ячейку. Поэтому я изменил его на
$('.toggle')
.prev()
.append('<td><a href="#" class="toggleLink">'+showText+'</a></td>');
Ссылка теперь находится в правильном месте, но теперь не вызывает отображение/скрытие формы. Когда он был размещен неправильно, функциональность работала, хотя и не совсем правильно. Я чувствую, что селектор, вызывающий действие переключения, неверен, но я не знаю, как это исправить. в настоящее время
$(this)
.parent()
.next('.toggle')
.toggle('slow');
Примерно так выглядит исходник...
<table id="training-events">
<tr>
<th>Date / Time</th>
<th>Event / Venue</th>
<th>Cost</th>
<th>Confirm</th>
</tr>
<tr class="event" valign="top">
<td class="date">Mon, 10 August 2009<br>03:30 PM - 05:30 PM</td>
<td><h5>Regional Director Meeting</td>
<td>No Charge</td>
<td><a href="#" class="toggleLink">Cancel</a></td>
</tr>
<tr style="display: none;" class="toggle">
<td colspan="4">
** FORM **
</td>
</tr>
</table>