0

select2在 Rails 应用程序中使用下拉菜单插件。但是,如果我使用对服务器 select2 的 JS 调用来呈现表单,则不会将其应用于输入。

这是一个描述我的意思的 js.erb 文件

$("#container").html("<%= j render partial: 'form' %>");
$(".select-list").select2()

我尝试使用以下方式设置上下文:

$(".select-list", document).select2()

但这也行不通。服务器响应 JS 调用后,如何将 select2 应用于我的输入?

4

1 回答 1

2

由于您要替换的内容,#container您需要使用该方法(http://api.jquery.com/on/) 绑定select2或任何其他事件。jQuery on

因此,执行以下操作应该可以解决您的问题:

在你的js.erb

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

然后在你的assets/javascripts/somefile.js.erb,只要somefile.js.erb包含在你的application.js,或者你甚至可以将以下内容放在你的底部application.js

$('#container').on('show', function() {
    $('.select-list').select2();
});
于 2013-07-17T10:39:05.580 回答