簡體   English   中英

在 rails 中的頁面加載時使用多個 true 選項填充 select2 字段

[英]Populate select2 field with multiple true option on page load in rails

I have a rails application where i am trying to add a ruby select tag with jquery select2, the select 2 works perfectly fine. 但我希望如果用戶重新訪問該頁面,它應該向他們顯示他們之前選擇的值。

這是我的代碼

查看.html.erb文件

<% if @select2_values.present? %>
   <%= select_tag "select2_name", options_for_select(@select2_values.map { |obj| [obj[:text], obj[:id]] }), multiple: true, class: "form-control select2", id: "resultOf_select2" %>
<% else %>
   <%= select_tag "select2_name", options_for_select([]), multiple: true, class: "form-control select2", id: "resultOf_select2" %>
 <% end %>

當我將binding.pry放在 if 語句中時,它會正確地停在那里,而且當我檢查控制台時, @select2_values數組看起來像這樣

[{ :id 1, :text "some text" },
 { :id 2, :text "some text" },
 { :id 3, :text "some text" },
]

如果我刪除了multiple: true選項,它會正確顯示@select2_values數組的第一個值。 有人可以幫我弄清楚如何使用multiple:true選項顯示所有值

任何幫助表示贊賞,在此先感謝

首先:您需要將用戶選擇的值存儲在某處...例如 localstorage(因為如果您使用 sessionStorage,此值將丟失)

第二:當用戶訪問您的頁面時,請嘗試獲取此用戶選擇的值...如果有的話,請將此值設置為 select2,如下所示:

$('#mySelect2').val(['1', '2']);

您可以在此處找到有關本地存儲的更多信息:

https://www.w3schools.com/jsref/obj_storage.asp

希望能幫助到你

暫無
暫無

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

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