Roh*_*han 6 html javascript jquery jquery-select2
我正在使用select2插件将多个选择的html元素转换为更易于呈现的格式.另外我不认为我的问题非常依赖于插件.
该插件内部的作用是 -
this.select.val(val);
Run Code Online (Sandbox Code Playgroud)
where this.select 指向隐藏的多个select元素.
在将函数提供到例如-2,4,0
的值之上时 ,在我执行a时确认存储的值alert(this.select.val())是0,2,4,即根据select元素中的选项的顺序进行自动不需要的排序..:/
演示 - http://jsfiddle.net/rohanxx/DYpU8/(感谢Mark)
有没有办法在将值输入select元素后保留排序顺序?
谢谢.
这个问题问得好。我认为这更多地与多选 html 元素有关,而不是与 select2 有关。
如果你有一个普通的多重选择,就没有“顺序”之类的说话。您只有一个按原始顺序排列的列表,其中每个项目要么被选中,要么未被选中。
我几乎 100% 确定有比下面更好的方法来做到这一点,但对于解决方法来说,它应该做得很好。
最终结果:

JavaScript 代码
// 'data' brings the unordered list, while 'val' does not
var data = $('#e1').select2('data');
// Push each item into an array
var finalResult = [];
for( item in $('#e1').select2('data') ) {
finalResult.push(data[item].id);
};
// Display the result with a comma
alert( finalResult.join(',') );
Run Code Online (Sandbox Code Playgroud)
JSFiddle: