我正在尝试将Andy Langton的显示/隐藏/迷你手风琴(http://andylangton.co.uk/jquery-show-hide)改编成在桌子内工作。我想创建一个事件列表,每个事件都附加一个确认表。单击最后一个单元格或行中的“确认”按钮后,我希望显示与此特定事件关联的表单。
Andy的代码使用
$('.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>发布于 2009-07-31 15:31:46
你需要这样的东西:
$(this).parent().parent().next('.toggle').toggle('slow')或
$(this).closest('tr').next('.toggle').toggle('slow'); 您只进行了一次parent()调用,这会将您带到TD,您需要进入TR。
发布于 2009-07-31 15:20:14
如果我从切换TR中删除style="display:none;“,这对我是有效的。
在示例中,您会注意到他也在这样做:
$('.toggle').hide();这就是隐藏切换类元素的原因。
https://stackoverflow.com/questions/1213032
复制相似问题