2013-05-29 23 views
0

我一直在努力使我的Rails应用程序整天的JavaScript工作。我有一个基本的Rails应用程序。我正在尝试使行可点击。我正在向该行添加一个data-attribute来保存我想要访问的url,但是我无法从表中访问它。这里是我的HTML:Rails - Javascript问题

<% @kids.each do |kid| %> 
    <tr data-link="<%= kid_path(kid) %>"> 
     <td><%= kid.name %></td> 
     <td><%= kid.balance %></td> 
     <td><%= link_to 'Show', kid %></td> 
     <td><%= link_to 'Edit', edit_kid_path(kid) %></td> 
     <td><%= link_to 'Destroy', kid, method: :delete, data: { confirm: 'Are you sure?' } %></td> 
    </tr> 
<% end %> 

我有一些javascript,当我点击行时需要调用。这里是js:

console.log("HERE 1"); 
    $("tr").click(function() { 
    console.log("HERE 2"); 
    }) 

这里1被调用,但是这里没有。为什么会发生?谢谢您的帮助。

+0

是否设置了window.location? “alert(this.data(”link“));'在分配前显示什么? – lurker

+0

我只是显示代码实际上正在受到打击。没有其他的。 – jhamm

+0

明白了。我建议在此时获得更多信息,除非您确定它按照您的期望设定了价值。 – lurker

回答

0

我不知道是什么导致了这个问题,但我知道一个解决办法。如果你将js函数封装在jQuery .ready中,那么所有的东西都可以像预期的那样工作。例如:

$('document').ready(function() { 
    $("tr").click(function() { 
    console.log("HERE 2"); 
    }); 
}); 

我不知道为什么这是必要的,但它是一个修复。