2013-08-29 38 views
0

如果某些表达式是真的,我试图在选择框中包含某些选项,并且我发现它添加了第一个选项,不出二日之一,当我用NG选项 我做了更复杂的表达式试试这个,但减少到只ng-if="true"来验证我的怀疑,一旦我删除添加的ng-options如果两者-NG选项才会出现这种情况。为什么我在使用ng选项时在选择中不能有多个ng-if选项

这是我的用户建模

$scope.users = [{ 
     "id": "123", 
     "description": "Tester", 
     "name": "Jane" 
    }, 
    { 
     "id": "312", 
     "description": "Dev", 
     "name": "John" 
    }]; 

这是我的选择简化

<select class="fullWidth" ng-model="name_model" ng-selected="name_model" 
ng-options="user.name as user.description for user in users" required> 
    <option ng-if="true" value="">-- Please Select an Approver Type: --</option> 
    <option ng-if="true" value="">-- Please Select One: --</option> 
</select> 

这是一个错误,它只是不允许的还是我忽视的东西。我有一个JSFiddle可以解释更好,然后我在这里

+0

可能的重复[为什么angularjs在select中包含空选项](http://stackoverflow.com/questions/12654631/why-does-angularjs-include-an-empty-option-in-select) – Fresheyeball

+0

@ Fresheyeball它不是一个真正的重复,因为我正在寻找硬编码更多的选项不删除一个空的选项,但我可以看到他们可能如何联系 – jonnie

回答

2

基本上是2个选择与ng-if = true,该代码实际上相当于

<option value=""> Please Select an Approver Type: </option> 
<option value=""> Please Select One: </option> 

由于ngOptions只接受单一的硬编码的选项,

(可选)可以将单个硬编码元素(值为 )设置为空字符串,并嵌套到该元素中。这个 元素将代表空或“未选中”选项。

第一个将被覆盖。

+0

所以基本上ng - 如果在这种情况下没有用? – jonnie

+0

我试过了(见[JSFiddle](http://jsfiddle.net/kswCe/2/)),它似乎忽略ng-if,然后只是添加第一个 – jonnie

相关问题