ui选择2选择的值不变 - angularjs

时间:2014-04-04 15:35:05

标签: javascript angularjs ui-select2

我使用ui.select2作为下拉列表

方案 我有一个返回下拉值的ajax调用

document.dropDownDocStatuses = [
            { key: 0, value: 'All active (' + response.totalDocuments + ')' },
            { key: 1, value: 'Draft (' + response.draft + ')' }            
        ];

在html中我有

<select ui-select2 class="form-control font-12px input-style3 " 
ng-model="document.dropDownDocStatus"        
ng-change="document.filterDocuments()">
<option ng-repeat="documents in document.dropDownDocStatuses"  value="{{documents.key}}">({{documents.value}})</option>  </select>

用户已选择值 enter image description here

问题 现在当我使用

更新任何下拉值时
  _document.dropDownDocStatuses[_document.dropDownDocStatus].value++;
                _document.dropDownDocStatuses[1].value++;

值已更新,但它不会更改选定的值文本,而如果我单击下拉列表,我会在下拉列表中更改值 enter image description here

有人可以指导我如何解决问题,任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

我刚遇到与你相同的问题,根本原因是ng-model字段,你不应该使用&#34;选项&#34;存储ng-model的字段,尝试为ng-model创建另一个字段,然后您就可以选择该值。

e.g。

document.dropDownDocStatuses = [
            { key: 0, value: 'All active (' + response.totalDocuments + ')' },
            { key: 1, value: 'Draft (' + response.draft + ')' }            
        ];
document.selectedDocStatus = [];

并在HTML中:

<select ui-select2 class="form-control font-12px input-style3 " 
ng-model="document.selectedDocStatus"        
ng-change="document.filterDocuments()">
<option ng-repeat="documents in document.dropDownDocStatuses"  value="{{documents.key}}">({{documents.value}})</option>  </select>

然后您应该能够成功选择该值。