【发布时间】:2015-07-11 15:17:54
【问题描述】:
我有以下 HTML 模板和一些要在输入中显示的数据。我喜欢在加载时在模板中显示这些数据
<div class="panel panel-default" ng-repeat="option in optionslist">
<div class="panel-body">
<div class="control-group">
<label>Airline</label>
<select class="form-control" ng-options="airline.id as airline.name for airline in airlinesList"
ng-model="selected.airline" ng-change="selectedAirlines(airline, $index)">
<option value="">Choose Airline</option>
</select>
</div>
<div class="control-group">
<label>Cost</label>
<input type="number" class="form-control" placeholder="Cost" ng-model="selected.cost"
ng-blur="travelCost(cost, $index)">
</div>
<div class="control-group">
<label>Discount</label>
<input type="number" class="form-control" placeholder="Discount" ng-model="selected.discount"
ng-blur="travelDiscount(discount, $index)">
</div>
</div>
</div>
我想在上面的模板中预先填充下面的 serviceData 值。
$scope.optionslist = [1, 2];
$scope.selected ={};
$scope.serviceData = [
{
"airline": 3,
"cost": 12345,
"discount": 3212
},
{
"airline": 1,
"cost": 4321,
"discount": 213
}
];
这里是 ng-options 列表
$scope.airlinesList = [
{
"id": 1,
"name": 'Emirates Airline'
},
{
"id": 2,
"name": 'Saudi Arabian Airlines'
},
{
"id": 3,
"name": 'Qatar Airways'
},
{
"id": 4,
"name": 'AirAsia'
}
];
【问题讨论】:
-
您应该在页面加载时在控制器中分配模型值。没有其他方法可以做到这一点。 Angular js 是客户端编程。我所做的还有另一种方式。我来自服务器请求的
json_encode数据并将它们保存在window对象下。当ng-app初始化时,我在相应的模型中分配了这些值。 -
你为什么不重复
serviceData而不是optionsList?不完全清楚你想要什么。在 plunker 中创建一个演示以及更好地解释期望 -
如何使用 ng-repeat 中的值更新模型
-
这里是链接plnkr.co/edit/Gtf1Hesril52NsHuscGU?p=preview我想在点击预设时更新模型
标签: javascript angularjs angularjs-ng-repeat angular-ngmodel