我在rails应用程序中使用select2插件实现下拉菜单。但是,如果我呈现一个带有对服务器的JS调用的表单,则select2不会应用于输入。
下面是一个描述我的意思的js.erb文件
$("#container").html("<%= j render partial: 'form' %>");
$(".select-list").select2()我尝试使用以下命令设置上下文:
$(".select-list", document).select2()但这也不起作用。在服务器响应JS调用后,如何将select2应用于我的输入?
发布于 2013-07-17 18:39:06
由于要替换#container的内容,因此需要使用jQuery on方法(http://api.jquery.com/on/)绑定select2或任何其他事件。
因此,执行以下操作可以解决您的问题:
在您的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();
});https://stackoverflow.com/questions/17697215
复制相似问题