【发布时间】:2014-10-21 20:09:47
【问题描述】:
我在我的表单中使用了一个下拉框来列出项目。
这是html代码:
<tr>
<td><label>items</label></td>
<td>
<select ng-model="addItems.item" ng-options="item.name for item in itemList" ng-init="getItemsList()">
</select>
</td>
</tr>
这是我的控制器:
$scope.getItemsList = function() {
$http({
method : "GET" ,
url : "/items/allitems"
}).success(function(data) {
$scope.itemList = data;
$scope.additems.item = $scope.itemList[0].id;
});
};
问题是:我从控制器获取项目列表并通过 ng-model 绑定这些列表。但是我在下拉列表中列出了项目的名称,如果我选择任何特定项目的 id 将被发送到数据库进行存储。
如果我运行此代码,我会在浏览器中得到以下结果:
<option value="?" selected="selected"></option>
<option value="0">pen</option>
<option value="1">notebook</option>
<option value="2">marker</option>
谁能告诉我我是否犯了任何错误,并给我一个提示,让我将第一个值作为默认值而不是空选择
【问题讨论】:
-
使用“item.id 作为 item.name 在 itemList 中的项目”。如果没有第一部分,它会将名称存储在 additems.item 中,并且它将不起作用。相反,你可以只做 $scope.additems.item = $scope.itemList[i].name;
-
不,它没有工作 zack.still 它默认显示空值:(
标签: angularjs angularjs-directive angularjs-scope