2014-10-27 74 views
0

我有一個場景,我認爲這是邏輯的,但似乎角度不支持它。AngularJS,選擇並綁定到值

所以,我在範圍/控制器的用戶類型的列表作爲對象的數組是這樣的:

$scope.userTypes = [{text : "Buyer", value : "1"}, 
    {text : "Vendor", value : "2"}, 
    {text : "Buyer/Vendor", value : "9"}]; 

$scope.user = new User(globalSelectedUserType); 

用戶在哪裏這樣的定義:

function User(userType) { 
    this.userType = userType; 
    this.isAdminUser = false; 
    this.isActive = true; 
    this.roleDisabled = true; 
}; 

而且我想使select元素具有來自userTypes的選項列表,該值將值綁定到「value」屬性,並將文本綁定到「text」屬性,並將選擇值綁定到數組對象的「value」屬性,從而允許用戶從代碼中設置值。

所以當我創建使用此

$scope.user = new User("9"); 

應該初始化選擇與「買家/供應商」選自代碼的用戶。

閱讀angular和ng選項中select元素的文檔看起來是不可能的。 我想這

<select name="usertypedata" id="UsersTypeData" ng-model="user.userType" 
      ng-disabled="user.roleDisabled" ng-options="usertype.value as usertype.text for usertype in userTypes track by usertype.value"> 
     </select> 

,當我們選擇的選項,我想通過NG-模型

+0

刪除跟蹤,此問題通常發生在使用跟蹤_select as_('usertype.value as')語法時,您不需要兩者。 http://jsbin.com/suniriteqo/2/edit – PSL 2014-10-27 16:34:44

+0

我做到了。它沒有工作,它使select/options中的值作爲數組的索引 – 2014-10-27 16:35:27

+0

適用於我http://jsbin.com/suniriteqo/4/edit您正在使用哪種角度的版本?或者在演示中複製您的問題。 – PSL 2014-10-27 16:36:20

回答

0

填充只有「值」屬性我有這兩個答案。 首先回答是PSL在他之前的評論中提出的建議。 第二個答案是

,而不是結合NG選項到一個數組,我把它綁定到一個對象,它工作得很好

更詳細地說明,這也許是因爲我沒有做,從開始全面的角度解決方案結束。 我正在使用angular來填充/和控制html頁面/表單的行爲。

但後來,我做了正常的HTML /表單提交,將提交表單中的所有數據。 和通常的表單/提交,將使用選擇/選項值來提交該值,而不是ng-model

但ng-model對於我以編程方式選擇選項很重要。