选择2的Optgroup +值多选?

时间:2016-02-12 11:15:00

标签: jquery select2

我试图连接optgroup但是select的值。 在jsFiddle中,当select是简单选择时,它正常工作。 选择São Paulo值时,正确的结果是: Sudeste - 圣保罗 但是当我将选择更改为多次改​​变它时。

请看jsFiddle

1 个答案:

答案 0 :(得分:1)

format(item)函数未获取所选项目的父optgroup的原因是,当函数运行时,实际上尚未选择option。此时,select2插件未标记在基础option标记中选择的select

如果你调试format(item),你可以看到第一次运行函数时$('#estados').find(':selected')是一个空数组。

相反,您需要做的是从option参数中获取item元素,然后在查询中使用它来获取optgroup

function format(item) {
  // opt = $('#estados').find(':selected');
  // sel = opt.text();
  // og = opt.closest('optgroup').attr('label');

  var og = $(item.element[0]).closest('optgroup').attr('label');
  return og+'-'+item.text;
}