select2 在 form.submit 上清除了多项选择(ruby on rails)

Posted

技术标签:

【中文标题】select2 在 form.submit 上清除了多项选择(ruby on rails)【英文标题】:select2 multiple selections cleared on form.submit (ruby on rails) 【发布时间】:2016-03-20 06:22:23 【问题描述】:

我正在使用 select2 进行表单提交。我的 html 看起来像这样:

<%= form.select "page_request_ids", [], , id: "page_request_ids", multiple: true, style: "width:506px;" %>

javascript

jQuery('select#page_request_ids').select2(
    placeholder: "Start typing paths...",
    allowClear: true,
    ajax: 
        url: "/page_requests/multiautocomplete",
        dataType: 'json',
        type: "GET",
        data: function(params) 
            return 
                option: params.term, 
            ;
        ,
        processResults: function(data, params) 
            return 
                results: jQuery.map(data, function(item) 
                    return 
                        text: item[0] + " (" + item[1] + ")",
                        request: item[1],
                        id: item[2]
                    
                )
            ;
        , 
        cache: true
    
);

当表单被提交时,这些值会清除表单字段。我正在尝试确保在提交表单后显示这些值(提交表单时会加载相同的表单)。

任何帮助都会很棒。

【问题讨论】:

【参考方案1】:

提交后您需要set page_request_idsselect tag

&lt;%= form.select "page_request_ids", [], , id: "page_request_ids", multiple: true, style: "width:506px;" %&gt;

这里你需要传递你的page_request_ids集合而不是blank Array

【讨论】:

这正是我所做的。 &lt;%= form.select "page_request_ids", @selected_page_request_ids, , id: "page_request_ids", multiple: true, style: "width:506px;" %&gt; 并将 @selected_pa​​ge_request_ids 设置为在字段中选择的那些。

以上是关于select2 在 form.submit 上清除了多项选择(ruby on rails)的主要内容,如果未能解决你的问题,请参考以下文章

在 select2 clear 上禁用下拉打开

单击 Select2 选项时重定向 URL

清除 select2 而不触发更改事件

如何重置/清除 x-editable 表中的所有过滤器(select2、select、input)?

如何清除 select2 下拉菜单?

清除 Select2 选择 onclick