Javascript 使用数据获取select2选定项以防止排序
我正在研究jQuery select2插件的一个问题。在过账表单时,select2会对所选项目进行排序(无论您选择的顺序如何)。我知道这可能不是select2特有的bug,而是标准的html select行为 现在,我如何获得所选项目ID,然后将它们放在隐藏输入中以逗号分隔的列表中,以便遵守项目的选择顺序Javascript 使用数据获取select2选定项以防止排序,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我正在研究jQuery select2插件的一个问题。在过账表单时,select2会对所选项目进行排序(无论您选择的顺序如何)。我知道这可能不是select2特有的bug,而是标准的html select行为 现在,我如何获得所选项目ID,然后将它们放在隐藏输入中以逗号分隔的列表中,以便遵守项目的选择顺序 $("#formpacint").submit(function (event) { var data = $('#campoprofesionales').select2('da
$("#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
});
实际上,标准的HTML
select
行为是,您不能按照选项值的选择顺序提交选项值。你到底为什么需要这个?我猜您必须使用插件提供的change
事件,并自己实现它。