我有一个选择多个选择字段,我将用户的选择保存在localstorage.language_request中。当用户回来时,我需要使用先前的选择来更新该字段。

我的JS保存用户选择的选择:

$('.calcul_checkout').on("change keyup", function(){
  var language_request_brut = $('#language_request').val();
  var language_request = [];
  jQuery.each(language_request_brut, function(i, val){
          language_request.push(val)
 });
  localStorage.language_request = language_request;
}


用户返回页面时我的JS,我需要使用先前选择的选项来更新“选择”字段

if (localStorage.language_request != null){
 $("#language_request").val(localStorage.language_request).trigger("chosen:updated");
}


选择字段(在Rails中):

<span>
 <%= select_tag(:language_request, options_for_select([['Français', 'FR'],
  ['Anglais', 'EN'],
  ['Italien', 'IT'],
  class:"answer language_request calcul_checkout chosen-select", multiple: true) %>
</span>


问题localStorage.language_request等于[“ FR,EN”]。它将所有选择保存到一个字符串中。要更新“选择的”字段,我需要将此数组格式化为[“ FR”,“ EN”](可以选择一个字符串)。

最佳答案

我不得不用split方法更新我的代码:

if (localStorage.language_request != null){
      $("#language_request").val(localStorage.language_request.split(",")).trigger("chosen:updated");
      }

10-05 20:58
查看更多