多个selectpicker获取unsort订单值

时间:2016-02-12 07:28:03

标签: javascript jquery html

此代码工作正常。在多重选择:

但是我希望以unsort形式获取值,如果我选择第一次数字值并且第二次选择DD,那么值应该像=[num],[dd]但默认值显示= [dd],[num]

<select name="select_dropdown" id="select_dropdown" class="select_seach form-control" onchange="Changedropdownvalue()" multiple data-selected-text-format="count > 3" >
  <option value="">Select Reference Format Order</option>
  <option value="[dd]">DD</option>
  <option value="[mm]">MM</option>
  <option value="[yy]">YY</option>
  <option value="[num]">Number</option>
</select>

1 个答案:

答案 0 :(得分:0)

您可以在click函数中执行一些手动过程,并按顺序存储所选值的数组

var sel_arr = [];
$("#select_dropdown").on("click", function(e){
  if($(this).find("option:selected").length == 0) {
    sel_arr = [];
  } else if($(this).find("option:selected").length == 1) {
    sel_arr = [$(this).find("option:selected").val()];
  } else {
    var val = e.target.value;
    if ($.inArray(val, sel_arr) > -1) {
      sel_arr.splice( $.inArray(val, sel_arr), 1 );
    } else {
      sel_arr.push(val);
    }
  }

  console.log(sel_arr);
});

请注意,只要需要使用所选值,就需要调用sel_arr全局变量。并且不必说这只适用于click,而不适用于任何其他change方法。

FIDDLE