繁体   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