选择2多选选项如何按所选顺序预填充选项

时间:2017-10-10 12:21:41

标签: php jquery

我正在使用这个js-fiddle 我将所选的值以相同的顺序存储到数据库中。

我如何以相同的顺序获取和显示项目。现在根据我输入的顺序显示

<body>Multiple select example
    <div class="selectRow">
        <!-- Using data-placeholder below to set place holder value versus putting in configuration -->
        <select id="multipleSelectExample" data-placeholder="Select an option" multiple>
            <option value="1" <?PHP if(in_array("1",$arrayval)){?> selected="selected" <?PHP } ?>>Option 1</option>
            <option value="2" <?PHP if(in_array("2",$arrayval)){?> selected="selected" <?PHP } ?>>Option 2</option>
            <option value="3" <?PHP if(in_array("3",$arrayval)){?> selected="selected" <?PHP } ?>>Option 3</option>
            <option value="4" <?PHP if(in_array("4",$arrayval)){?> selected="selected" <?PHP } ?>>Option 4</option>
            <option value="5" <?PHP if(in_array("5",$arrayval)){?> selected="selected" <?PHP } ?>>Option 5</option>
        </select>
    </div>
</body>

脚本

 $(document).ready(
        function () {
            $("#multipleSelectExample").select2();

var vals = [];

  $('#multipleSelectExample').change(function(e) {
    for(var i=0; i <$('#selector option').length; i++) {
      if ($($('#selector option')[i]).prop('selected') ) {
        if (!vals.includes(i)) {
          vals.push(i);
        }
      } else {
        if (vals.includes(i)) { 
          vals.splice(vals.indexOf(i), 1);
        }
      }
    }

  })

  $("#button").click(function(e) {
    var order = '';
    vals.forEach(function(ele) 
    {
      if(order == '')   
       order = $($('#selector option')[ele]).val();
      else
       order +=  ',' + $($('#selector option')[ele]).val();
    })
    $("#seletedorder").val(order)

  })
        }
    );

在此我选择option4和option3并以相同的顺序存储到数据库中,如option4,option3。但在获取时如何保持相同的顺序

现在显示option3,option4

seletedorder是隐藏类型。我将所选值存储在此和我存储到数据库中的selectedorder值中。但是在返回时却没有以相同的顺序显示

谢谢

0 个答案:

没有答案