jQuery-select2-按选择的顺序获取值

jQuery-select2-按选择的顺序获取值,jquery,select,multi-select,jquery-select2,Jquery,Select,Multi Select,Jquery Select2,我正在开发一个包含许多多选项的表单。我使用Select2库来实现这一点 $(".chosen-select").select2({ allow_single_deselect: true, width: "150px" }); ...... <select id="ship2" class="chosen-select" data-placeholder="Select vessel"> <option>&

我正在开发一个包含许多多选项的表单。我使用Select2库来实现这一点

 $(".chosen-select").select2({
            allow_single_deselect: true,
            width: "150px"
        });
......
<select id="ship2" class="chosen-select" data-placeholder="Select vessel">
<option></option>
<option value="value1">title1</option>
<option value="value2">title2</option>
</select>
有没有办法让它们按正确的顺序排列?

您可以使用:

var dayPorts = selectedDayPorts.select2("data");
并获取值:

alert(dayPorts[0]['id']);

alert(dayPorts[0]['text']);

我没有找到一种方法让select2以正确的顺序存储值,因此我最终为每个select2字段创建了隐藏的输入字段,并在添加/删除新值时相应地更新它。有时这可能会有所帮助。在尝试了几种方法之后,我用我在用户shashilo上通过这个链接获得的代码想出了一个解决办法。

但我不得不做一些安排,因为这对我的案子没有100%的效果。 这是我的密码

$(.select2”)。打开(“select2:select”,函数(evt){
var元素=evt.params.data.element;
变量$element=$(element);
if($(this).find(“:selected”).length>1){
var$second=$(this.find(“:selected”).eq(-1);
$second.after($element);
}否则{
$element.detach();
$(this).prepend($element);
}
$(此).trigger(“更改”);

});为什么选择此选项,即使没有人可以看到工作答案。。。
alert(dayPorts[0]['id']);

alert(dayPorts[0]['text']);