2017-03-09 46 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>