2017-03-09 50 views
1

傳遞值我有一本字典,所以在JSONNG選項從字典

Object {1: "value1", 4: "value2" } 

而且我想通過選定的值,而不是關鍵的。

現在我這樣的代碼:

<select ng-model="myModel.myValue" ng-options="key as item for (key, value) in items" class="form-control"> 
<option value="">Choose</option>           </select> 
+0

試試這個'鍵值(鍵,值)中的項目# –

+0

結果相同,仍然通過鍵 – Cieja

回答

0

使用該ng-options="value as value for (key, value) in items"。它將分配值,而不是關鍵NG-模型

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
\t $scope.items = {1: "value1", 4: "value2" }; 
 
    $scope.myModel = {} 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<select ng-model="myModel.myValue" ng-options="value as value for (key, value) in items" class="form-control"> 
 
<option value="">Choose</option>           </select> 
 
{{myModel.myValue}} 
 
</div>

0

嘗試使用ng-repeat的選項,而不是ng-options

var app = angular.module('anApp', []); 
 
app.controller('aCtrl', function($scope) { 
 
    $scope.items = {1: "value1", 4: "value2" }; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="anApp" ng-controller="aCtrl"> 
 
    <select ng-model="myModel.myValue" class="form-control"> 
 
    <option ng-repeat="(key,value) in items" value="{{value}}"> 
 
     {{value}} 
 
    </option>           
 
    </select> 
 
</div>

+0

結果仍然是同樣,它傳遞關鍵 – Cieja

1

試試這個

ng-options="value as value for (key, value) in items 

ng-options="key as item for (key, value) in items"這裏你正在使用的密鑰值,這是你的回答不工作

主要的原因,你需要使用密鑰對的值作爲視圖面板列表中的值和值相同。

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
\t $scope.items = {1: "value1", 4: "value2" }; 
 
    $scope.myModel = {} 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<select ng-model="myModel.myValue" ng-options="value as value for (key, value) in items" ">          </select> 
 
{{myModel.myValue}} 
 
</div>

0

看到這個:

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
\t $scope.items = {1: "value1", 4: "value2" }; 
 
    $scope.myModel = "value1"; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<select ng-model="myModel" ng-options="value for (key, value) in items" ">          </select> 
 
{{myModel.myValue}} 
 
</div>