通过编程设置Select2 ajax的值
- 论坛
- 通过编程设置Select2 ajax的值
15 浏览
通过编程设置Select2 ajax的值
我有一个Select2自动完成输入框(通过SonataAdmin构建),但是我无论如何都无法弄清楚如何以编程方式将其设置为已知的键/值对。
这里有一个JSFiddle链接,大致展示了我所拥有的东西。我想知道的是,我可以将什么函数附加到按钮上,以便:
- Select2字段向用户显示文本“NEW VALUE”,并且
- 当表单提交到服务器时,Select2字段将提交一个值为“1”
我尝试过各种组合的jQuery和Select2的data和val方法,调用了页面上的各种输入,但是似乎没有什么有效的方法...肯定有办法做到这一点吧?
-- 编辑 --
下面的接受答案非常有用,有助于阐明正确初始化选择的方法,并解释了initSelection的用途。
话虽如此,我在这里犯了最大的错误是我尝试触发更改的方式。
我使用的是:
$(element).select2('data', newObject).trigger('change');
但是这会导致select2的change事件中出现一个空的add对象。
相反,如果您使用:
$(element).select2('data', newObject, true);
那么代码将按预期工作,select2的change事件中将有newObject可用,并且值将被正确设置。
我希望这些额外的信息能帮助其他人!