使用数据获取select2个所选项目以防止排序

Get select2 selected items using data to prevent sorting

本文关键字:项目 排序 选项 数据获取 select2      更新时间:2023-09-26

我对jQuery select2插件的一个问题进行了一些研究。在发布表单时,select2会对所选项目进行排序(无论您选择哪个顺序)。我知道这可能不是select2特有的错误,而是标准的html选择行为。

现在,我如何获得所选项目的ID,然后将它们放在隐藏输入中的逗号分隔列表中,这样我就可以尊重项目的选择顺序?

$("#formpacint").submit(function (event) {  
    var data = $('#campoprofesionales').select2('data');  
    $('#hidprofesionales').val(data);  
});

上面的代码使用其数据属性将所选项目(按选择顺序)放入隐藏输入中,但console.log将它们显示为对象(我想是text+id)。。

我需要:35,14,29(所选项目的ID,因为它们是在没有排序的情况下选择的)

感谢

找到解决方案

var selections = (JSON.stringify($("#campoprofesionales").select2('data')));
var obj = $.parseJSON(selections);
$.each(obj, function() {                    
      console.log(this.id);
      // I here set a hidden field with the ids in the order they were selected
});