AngularJS ui-select2占位符未显示嵌套的ng-repeat内部

时间:2013-03-05 22:36:44

标签: angularjs angular-ui jquery-select2

哎呀,好的。噩梦。

我的输入中的占位符没有显示,它们作为独立输入工作 - 但只要它们被添加到列表中,它们就会失去范围。我已经确定了这个问题 - 但我找不到解决方法 - 我想如果我能理解这个问题,它将有助于解决我在Angular中的很多范围问题。如何在此方案中管理范围?即使是资源也会有所帮助

HTML

<div ng-repeat="region in data.regions">
    <h2> {{region.name}} </h2>
    <input ui-select2="version2" type="hidden" name="keywordsLocal-{{$index}}" class="region-keywords input-xlarge" data-ng-model="data.regions[$index].keywords" required-multiple />
    <select ui-select2 id="copy-{{$index}}" ng-show="region.length > 1" class="input-xlarge" ng-click="_copy($event, $index)" data-ng-model="data.regions[$index].keywords">
        <option value="">Placeholder:</option>
        <option ng-repeat="region in data.regions" value="{{region.keywords}}">{{region.name}}</option>
    </select>
</div>

IMAGE

enter image description here

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。在文档中 - 它明确指出select2与ng-options指令“不兼容”。这引起了我一整天的困惑,因为我的整个应用程序都是使用ng-repeat的错误。

我转回到ng-options,一切都很顺利。

编辑:添加代码示例

<select class='copy' ng-change='_copyKeyword($index)' ng-disabled='max.keywords - keywordsSum() <= data.selected_region_objects.length' ng-model='selectedKeywords' ng-options='region.name for region in data.selected_region_objects | keywordFilter: {name: region.name}' style='width:200px;' ui-select2=''>
    <option value=''>Use same keywords as:</option>
</select>