如何从隐藏输入填充多 select 输入,反之亦然?

How to fill a multi select input from a hidden input and vice versa?

所以我有一个使用此 http://www.phpkobo.com/address_book.php. I also setup Select2 which is a jquery plugin that manages multiple select inputs https://select2.github.io/examples.html 设置的地址簿工具。

所以这个地址簿工具不允许你设置多 select 输入所以我不得不通过创建一个多 select 输入然后复制你的 [=24] 来解决这个问题=]ed 输入到隐藏输入。使用下面的脚本,我设法将 selected 项目自动复制到我的隐藏输入中。

function loopSelected()
{
  var txtSelectedValuesObj = document.getElementById('hidden_input');
  var selectedArray = new Array();
  var selObj = document.getElementById('selected_items');
  var i;
  var count = 0;
  for (i=0; i<selObj.options.length; i++) {
    if (selObj.options[i].selected) {
      selectedArray[count] = selObj.options[i].value;
      count++;
    }
  }
  txtSelectedValuesObj.value = selectedArray;
}

所以这个脚本工作得很好,但是,问题是当我编辑一个条目时,我的多 select 输入是空的,因为所有数据都保存在隐藏的输入中。我想弄清楚如何用隐藏输入中已有的数据填充 multi select 输入,反之亦然?

如有任何帮助,我们将不胜感激。

这是我的工作示例: https://jsfiddle.net/akhyp/1956/

通过此线程获得了一些帮助

这是按预期工作的最终产品:http://jsfiddle.net/akhyp/1966/

 $("#txt").bind('keyup' , function(e){
    var ar = $(this).val().split(",");
    $("#sel option").each(function(){
        if(ar.indexOf($(this).val()) != -1)
           $(this).attr("selected","selected");
    });
  });
$('#sel').change(function(){
    $('#txt').val($('#sel').val());
});