簡體   English   中英

單擊鏈接時在div中渲染部分

[英]Render partial in a div on clicking a link

我有一個像這樣的側邊欄;

<div id = "sidebar-links">
      <% @locations.each do |locs| %>
        <p style = "border-bottom: 1px black solid">
        <a href = "#" class = "sidebar-click"><%= locs['Address'] %></a></p>
      <% end %>
    </div>

我想在點擊其中一個側欄鏈接並且還想將locs作為局部變量傳遞給該局部時,在另一個div id = "container"渲染部分;

我該怎么做呢?

首先嘗試使用link_to helper方法:

<%= link_to locs['Address'], ajax_link, :remote => true, :html => {:class => "sidebar-click"} %>

然后你應該創建一個js綁定來處理ajax響應,如:

$(function() { 
  $(".sidebar-click").bind("ajax:success",  
    function(event, data){  
      $("#container").html(data);  
  });  
}); 

更新:請查看以下文檔: http//apidock.com/rails/ActionView/Helpers/PrototypeHelper/link_to_remote

試試這個

<%= link_to locs['Address'], "path/to/redirect", :class => "side_bar" %>

然后在js

 $(".document").ready(function(){
     $(".side_bar").live("click", function(){
        $.ajax({
            dataType: 'html',
            type: 'get',
            url: $(this).attr('href'),
            success: function(data){
                       $(target_div).html(data);
                     }
        })
     })
  })

並在你的控制器動作

def action
  #write your code here
  respond_to do |format|
    format.js{render: template}
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM