我如何制作一组<td>s可在Rails中链接
How can I make a group of <td>s linkable in Rails?
我试图添加一个链接到除了一个td之外的整行
<tbody>
<% @inbox_messages.each do |message| %>
<tr data-link="<%= show_received_message_path(message) %>">
<td>
<%= check_box_tag 'select' %>
</td>
<td>
<%= message.received_sender %>
</td>
<td>
<%= message.subject %>
</td>
<td>
<%= message.created_at %>
</td>
</tr>
<% end %>
</tbody>
并使用以下咖啡脚本
$ ->
$("tr[data-link]").click ->
window.location = $(this).data("link")
然而,这个问题是,当我勾选复选框时,它会将我重定向到我不想要的show_received_message_path
。
我试过摆弄div,但我了解到将div放在trs中是无效的html。
是否有任何方法可以链接除复选框之外的所有行?
解决问题的一个简单方法是将单击处理程序附加到<td>
而不是<tr>
,然后使用jQuery的:not
、:has
和:checkbox
选择器来排除包含复选框的单元格。类似这样的东西:
$('tr[data-link] td:not(:has(:checkbox))').click ->
$tr = $(@).closest('tr')
#...
还要注意closest
在点击处理程序中的使用,我们使用它是因为@
将是<td>
,而data-link
在<tr>
上;如果你愿意,你可以用parent
而不是closest
,closest
只是让我更清楚。
演示:http://jsfiddle.net/ambiguous/qH282/
相关文章:
- 如何首先设置样式<td>表中包含在窗体中的元素
- 改变所有<td>为特定的桌子点击颜色
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 正在获取<td>
- 更改<td>更改事件的元素值
- 如何在<td></td>在Procractor中
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 访问特定<td>对于给定<tr>以及更改html
- 除了最后一个<td>元素-Jquery
- Knockout.js和表:插入<th>将内容转换为匹配<td>
- 添加<td>在选择菜单JQuery中选择选项时
- AngularJS:隐藏<td>使用ng-hide/ng-show没有间隙
- 使用js:order<创建表时出现问题;tr>并且<td>
- this.value在<td>标记显示未定义
- 验证输入,更新<td>属性以匹配验证状态
- <的Onchange事件;td>标签
- 正在更改<td>点击javascript
- 如何检查两个<tr>元素在忽略某些内部<td>elmentes
- 访问<td>硒的价值
- 向<td>在我的Jquery中