2014-11-23 37 views
0
<select ng-model="sortOrder"> 
    <option value="country">Country (A-Z)</option> 
    <option value="-country">Country (Z-A)</option> 
</select> 

控制器:如何將初始值設置爲ng-model選項?

$scope.sortOrder = ['-country', 'name']; 

我有它設置了這樣的事情。它可以工作,但默認情況下,選擇選項只是空的。我希望默認選擇第一個選項,甚至只是一些文本..基本上只是一個空的下拉列表。我怎麼能做到這一點?

+2

在您的控制器:'$ scope.sortOrder =「country'' – 2014-11-23 01:19:48

+0

是的數組不是一個有效的模式選項 – tommybananas 2014-11-23 01:20:02

+0

和修復它!謝謝! @JoaoLeal – Pauli 2014-11-23 01:25:36

回答

0

您應該使用ng-options

<select ng-model="selectedItem" ng-options=" item.name for item in items"></select> 

現在在創建項目或者如果你是動態獲取項目列表比你的第一個項目指定爲這樣

默認的項目列表設置默認選項
$scope.items = [{'name': 'Select Item'}, 
         {'name' : 'Google Calendar'}, 
         {'name' : 'Jira'}, 
         {'name' : 'Zendesk'}]; 

//This will set the default item as selected. 
$scope.selectedItem = $scope.items[0]; 

讓我知道如果它仍然不清楚。

+0

我需要爲每個文本分配一個文本(每行不同)和一個不同的值。這樣我只能給'name'賦予不同的值,對吧? @CrazyGeek – Pauli 2014-11-23 11:36:35

+0

是的,你可以在每個項目中添加更多的屬性,這樣你就可以訪問item.value和一件事情,如果你想爲每個選項分配一些像css類一樣的自定義屬性,那麼應該創建一個自定義指令。 – CrazyGeek 2014-11-23 14:35:36

+0

如何添加更多屬性?每個項目至少需要三個或更多。現在它基本上是每個不同名稱行的一個值。當我做for循環時,我如何訪問其他屬性?就像這是一個下拉菜單一樣,每個項目通常至少有一個文本和一個值。 @CrazyGeek – Pauli 2014-11-25 14:51:52

0

你可以使用 「選擇」 屬性<option>上初始化:

<select ng-model="selecteditem"> 
<option ng-repeat="item in items" value="{{item}}" {{item===selecteditem ? 'selected' : ''}}></option> 
</select>