我试图连接optgroup但是select的值。
在jsFiddle中,当select是简单选择时,它正常工作。
选择São Paulo
值时,正确的结果是: Sudeste - 圣保罗
但是当我将选择更改为多次改变它时。
请看jsFiddle。
答案 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;
}