2013-08-29 60 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

相關問題