AngularJS使用ng-options从JSON模型设置默认的<select>值

ins*_*der 1 html-select angularjs ng-options angularjs-ng-options

我有一个包含数百个选择元素的表单.当用户保存表单时,我将保存JSON,当他们重新加载时,使用JS代理将其拉回.我正在寻找一个好的/干净的方式来从JSON中的值设置选项值.最好不要为这些中的每一个枚举数组,并根据它与值匹配的索引进行设置.

的jsfiddle

模板:

<div ng-app="myApp">
<div ng-controller="myCtrl">
<select ng-model="jsModel.selVal"ng-options="myVal.value for myVal in myValArr"/>
</div>
Run Code Online (Sandbox Code Playgroud)

app.js:

var myApp = angular.module('myApp',[]);

function myCtrl($scope) {
  $scope.myValArr = [{ value: 'Yes' }, { value: 'No' }]; 
  $scope.jsModel = ({ selVal: 'Yes' }); // Returned from proxy call
}
Run Code Online (Sandbox Code Playgroud)

Sat*_*ani 5

演示

在这里,您需要做的就是使用ng-optionsIt时,应该将选定的对象格式与deffault对象格式相匹配.

<div ng-app="myApp">
<div ng-controller="myCtrl">
    <select ng-model="jsModel.selVal" ng-options="myVal.value as myVal.value for myVal in myValArr"/>
</div>
Run Code Online (Sandbox Code Playgroud)

检查NG选项上面template.For更多详情,请参阅的文档角NG选项.

你的错误:你的选择元素是在ng-model中设置整个对象,默认情况下你试图只设置你的属性的值.所以两者都不匹配.希望你理解或让我知道.