【问题标题】:Why doesn't my markup result in clickable table rows?为什么我的标记没有产生可点击的表格行?
【发布时间】:2020-03-26 16:26:28
【问题描述】:

我正在尝试使用 Rails 6 和 Bootstrap 4 创建一个可点击的表格行(不确定这是否是 Bootstrap 问题)。使用以下代码无法“点击”这些行:

index.erb.html:

<table class="table table-hover">
    <thead>
    <tr>
        <th scope="col">Name</th>
        <th scope="col">PPU</th>
        <th scope="col">Notes</th>
    </tr>
    </thead>
    <tbody>
        <% @accounts.each do |account| %>
        <tr>
        <% link_to "Show", account_path(account) %>
        <th scope"row"><%= account.name %></th>
        <td><%= account.ppu %></td>
        <td><%= account.notes %></td>
    </tr>
    <% end %>
    </tbody>
</thead>
</div>

表格渲染良好,但没有 DOM 点击。

更新我想出了如何使行中的每个属性都可以点击,如下所示:

<th scope"row"><%= link_to account.name, account_path(account) %></th>

现在我想让整行可点击,这需要不同的方法。

【问题讨论】:

  • 需要用JS让整行可点击

标签: ruby-on-rails onclick link-to ruby-on-rails-6


【解决方案1】:

link_to 方法创建一个锚元素(不是单击处理程序,正如您所暗示的那样)。您放置它的位置会导致 HTML 无效。您不能用其他元素包装表格单元格,因此浏览器可能会剥离它。很难说,因为我们看不到渲染的标记。

将链接放在每个单元格内,包裹单元格内容。如果您确实想要一个整行点击处理程序,您将需要一种不同的方法。在这种情况下,您需要修改您的问题以更好地解释您的意图。

【讨论】:

  • 我更新了我的问题。我希望整行都可以点击。这需要Javascript吗?
猜你喜欢
  • 2021-03-14
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
相关资源
最近更新 更多