2016-02-12 51 views
0

我想连接optgroup,但选择的值。 在jsFiddle当选择是简单的选择它正常工作。 当选择São Paulo值正确的结果:Sudeste - 圣保罗 但是,当我改变选择到多个洗牌周围。Optgroup + value multiple select with selected2?

看看jsFiddle

+0

请更好地解释是什么问题?你的预期结果是什么?这是令人失望的地方? – Athafoud

+0

@Athafoud编辑。 – cura

回答

1

的原因,您的format(item)功能没有得到所选项目的父optgroup的是,该功能运行时,该option实际上不选择呢。此时,select2插件未标记在底层select标记中选择的option

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

相反,您需要做的是从item参数中获取option元素,然后在查询中使用它来获取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; 
} 
+0

原谅我的英语,我真的是我想要的。 – cura