-6ren">
gpt4 book ai didi

javascript - 如何在 Rails 中使一组 可链接?

转载 作者:行者123 更新时间:2023-11-28 02:05:22 25 4
gpt4 key购买 nike

我正在尝试添加一个指向除一个 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>

并使用以下 CoffeeScript

$ ->
$("tr[data-link]").click ->
window.location = $(this).data("link")

但是,这样做的问题是,当我勾选复选框时,它会将我重定向到我不想要的 show_received_message_path

我尝试过使用 div,但是我了解到将 div 放入 trs 中的 html 无效。

有没有办法链接除复选框之外的所有行?

最佳答案

解决问题的一个简单方法是将点击处理程序附加到 <td> s 而不是 <tr> s,然后使用 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/

关于javascript - 如何在 Rails 中使一组 <td> 可链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com