簡體   English   中英

用js渲染HTML部分

[英]Render html partial with js

我想用js response_to渲染HTML部分

這是我的控制器:

 class SearchesController < ApplicationController def index @users = User.ransack(first_name_or_last_name_cont: params[:query]).result(distinct: true) @teams = Team.ransack(name_cont: params[:query]).result(distinct: true) respond_to do |format| format.js {} format.json {} @users = @users.limit(5) @teams = @teams.limit(5) end end end 

這是我的index.js.erb:

 $('<%= j render :partial => 'result_list' %>') 

它有效,但是在我的搜索下拉列表中無法正確顯示html

我有這樣的事情:

 $(' \\n\\nUsers\\n<\\/span>\\n\\n\\n<\\/i>\\n<\\/span>\\nCharlotte Marie<\\/span>\\n<\\/a>\\n\\n\\n<\\/i>\\n<\\/span>\\nMatrice .io<\\/span>\\n<\\/a>\\n\\n\\n\\"Maboukra\\"\\n<\\/span>\\nMichael Aboukrat<\\/span>\\n<\\/a>\\n\\n\\n<\\/i>\\n<\\/span>\\nConstance Albanel<\\/span>\\n<\\/a>\\n\\n\\n\\"Malberte\\"\\n<\\/span>\\nMatthieu 

請讓我知道正確的js代碼

您將整個HTML部分直接渲染到$()標記中,這是不正確的。 請記住,Rails所做的是將Javascript加載到js.erb文件中。

相反,您應該將其加載到另一個HTML元素中,例如:

<span id="container"></span>

然后,使其中的HTML成為要呈現的部分,因此在index.js.erb ,應編寫:

$('#container').html("<%= j render partial: 'result_list' %>");

暫無
暫無

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

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