此代码工作正常。在多重选择:
但是我希望以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>
答案 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
方法。