从Rails link_to调用jQuery函数

Stp*_*tpn 7 javascript jquery ruby-on-rails link-to

我有一个ruby循环,创建一个注释列表..

我想知道在这种情况下我是否可以将jQuery函数附加到Rails link_to helper?

    <% @video.phrases.each do |phrase| %> 
    <div class = "span4" id ="comment" ><%= phrase.content %></div><a id ="ff"  ><%= image_tag("ff.png", :size=> "32x32" )%></a>
    <% end %>
Run Code Online (Sandbox Code Playgroud)

我希望有类似的东西

    <% @video.phrases.each do |phrase| %> 
    <div class = "span4" id ="comment" ><%= phrase.content %></div><%= link_to (image_tag("ff.png", :size=> "32x32" ), html => {<script>$("#video_div").html('CONTENTS OF HTML');</script>} :remote => true %>
    <% end %>
Run Code Online (Sandbox Code Playgroud)

我知道它不起作用,但我想知道有没有一种简单的方法来实现这种功能?

谢谢!

小智 6

你可以用两种方法做到这一点.

第一个是在link_to上添加一个html属性:

<% @video.phrases.each do |phrase| %> 
  <div class = "span4" id ="comment" >
    <%= phrase.content %>
  </div>
  <%= link_to (image_tag("ff.png", :size=> "32x32" ), html => {:onclick => "$('#video_div').html('CONTENTS OF HTML');"} :remote => true %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

第二个是将Javascript与Ruby分开:

<% @video.phrases.each do |phrase| %> 
  <div class = "span4" id ="comment" >
    <%= phrase.content %>
  </div>
  <%= link_to (image_tag("ff.png", :size=> "32x32" ) :remote => true %>
<% end %>

<script type="text/javascript">
  $('a').click(function(){
    $("#video_div").html('CONTENTS OF HTML');
  );
</script>
Run Code Online (Sandbox Code Playgroud)

如果你想要的链接标签的内容,替换'CONTENTS OF HTML'$(this).html()