【问题标题】:Clickable Table Rows in Ruby on RailsRuby on Rails 中的可点击表格行
【发布时间】:2015-04-10 07:02:00
【问题描述】:

刚开始使用 Rails,我正在尝试使用引导表在 Rails 中创建可点击的表行。我设法做到了这一点,但是似乎存在一个问题,当我单击行到显示页面,然后按该页面上的后退按钮返回到索引视图时,可单击的行不再起作用。我需要刷新页面才能让它再次工作。

我查看了Rails 3 - How to make entire table row clickable using jQuery 以及网站上的其他答案。好像还是不行。

我的代码如下

索引页面

<tr data-link="<%= source_path(source) %>">
        <td><%= source.name %></td>
        <td><%= source.description %></td>
        <td><%= link_to truncate(source.url, :length => 40), source.url, :target => '_blank' %></td>
        <td><%= source.category %></td>
        <td><%= source.user.name if source.user %></td>
      </tr>

应用程序.js

jQuery(function($) {
$("tr[data-link]").click(function() {
window.location = this.dataset.link
});
})

【问题讨论】:

  • 这是因为您在 a-way-i-cant-find-the-name 中定义了事件侦听器,但您应该在 $(document).ready(function(){#your_js_goes_here#}) 中定义它
  • @MrYoshiji jQuery(function($) {$(document).ready(function(){ 相同。只是一个简写版本。见api.jquery.com/ready
  • 我不确定@charlietfl,我找不到任何证实这一点的来源
  • @MrYoshiji 看看我刚刚链接的文档...见Which is equivalent to calling
  • 是的,jQuery(document).ready,但不是 OP 的 jQuery(function($){#...})

标签: javascript jquery ruby-on-rails


【解决方案1】:

尝试使用 jQuery data() 方法

jQuery(function($) {

    $("tr[data-link]").click(function() {
        window.location = $(this).data('link');
    });

});

我不知道为什么你的不工作。也许您在浏览器控制台中抛出了错误

【讨论】:

  • 不幸的是仍然没有乐趣,奇怪的是它可以在我的 iphone 上按预期在 chrome 浏览器上运行,而不是在我拥有的任何其他浏览器上。我已经清除了所有浏览器上的缓存只是为了确定,但仍然没有乐趣?
  • 我删除了所有数据并重新开始,现在似乎可以工作了......奇怪的行为......
  • 它有效,但只有效一次。我的意思是,当我点击时,它会跟随链接,我点击返回链接(在页面中,而不是在浏览器中)然后它停止工作。控制台中没有抛出错误。 --edit:它发生在 ie 中,它发生在 chrome 中,但不在我在使用此功能的桌面应用程序中的 WebBrowser 视图中。
  • @h1k3n 如果您遇到问题,请提出新问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
相关资源
最近更新 更多