javascript - 使用 localStorage 变量更新选择的多选字段

标签 javascript jquery ruby-on-rails ruby jquery-chosen

我有一个选择的多项选择字段,并将用户的选择保存在 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");
      }

关于javascript - 使用 localStorage 变量更新选择的多选字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594125/

相关文章:

javascript - 如何在 javascript 中调用 ASP.Net Web 服务

javascript - 参数 'AppCtrl' 不是函数,未定义 - $http angular-ionic 错误

javascript - Promise.all 返回 promise 数组的 promise ,但返回单个 promise 的正确值

javascript - 如何将设置对象从 Controller 传递给服务?

jQuery:获取输入的值并将其作为类添加到封闭标签中?

php - 根据先前的选择填充下拉列表

javascript - 如何将数组值传递给javascript函数? PHP Laravel

ruby-on-rails - Michael Hartl 的教程 - ssl 配置 - 使用 elastic beanstalk - 如何恢复到 http?

ruby-on-rails - 添加 Accepts_nested_attributes_for 时,Fields_for 消失

ruby-on-rails - 专家上下文访问