Select2不绑定

时间:2017-10-16 13:55:42

标签: angularjs jquery-select2

我正在尝试使用我的角应用程序使用Select2,但我遇到了绑定问题。有一个带有Ids数组的模型,我绑定了它。当使用默认值(没有Select2)时它工作正常,但是一旦我使用select2,我就失去了绑定。

我添加了前面部分以显示cultureIds。如您所见,它不会更新。如果不调用.select2()函数,它会正确绑定。

我也试过在选项标签中进行ng-repeat,但结果相同。

导致问题的HTML下方:

<select class="Select2"
        ng-model="region.cultureIds"
        multiple="multiple"
        ng-options="culture.id as culture.displayName for culture in cultures">
</select>
<pre>{{region.cultureIds | json}}</pre>

我已经包含了一个jsFiddle来演示我的问题。 http://jsfiddle.net/gymagmor/

2 个答案:

答案 0 :(得分:0)

很抱歉,我不会回答这个问题,但我想建议不要使用jquery select2并使用原生角度版本。

原因是你正在编写AngularJS应用程序,你应该尝试使用angularjs方式,而不是JQuery方式 - 所以更少的DOM操作。

检查这个,最好用于angularjs的ui-select,我一直在多个项目中使用它,这很棒:

https://github.com/angular-ui/ui-select

通过这种方式,您可以将所有内容保存在控制器和/或范围内,并且无需任何DOM操作,您就可以使用select中的值 - 它也支持多选。

虽然我们正在推荐这些东西,但请检查一下,这是Todd Motto AngularJS风格指南,事实上最好的AngularJS指南在线(并且它将为Angular准备一些):

https://github.com/toddmotto/angularjs-styleguide

答案 1 :(得分:0)

正如buh-buh所建议的,我能够通过绑定到“select2:choices”事件来解决这个问题,处理数据,然后触发摘要。