Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何使用ng选项在下拉列表中设置默认值?_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Angularjs 如何使用ng选项在下拉列表中设置默认值?

Angularjs 如何使用ng选项在下拉列表中设置默认值?,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我在表单中使用了一个下拉框,其中列出了项目 这是html代码: <tr> <td><label>items</label></td> <td> <select ng-model="addItems.item" ng-options="item.name for item in itemList" ng-init="getItemsList()">

我在表单中使用了一个下拉框,其中列出了项目

这是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>
问题是:我从控制器获取项目列表,并通过ng模型绑定这些列表。但我在下拉列表中列出了项目的名称,若我选择了任何一个,那个么特定项目的id将被发送到数据库进行存储

如果我运行此代码,我会在浏览器中得到以下结果:

<option value="?" selected="selected"></option>
<option value="0">pen</option>
<option value="1">notebook</option>
<option value="2">marker</option>

笔
笔记本
标记

有没有人能告诉我我是否有任何错误,并给我一个提示,将第一个值作为默认值,而不是空选择

可能有一个提示用于ng init label,我以前遇到过类似的问题。 您可以使用以下html代码:

<tr>
  <td><label>items</label></td>
  <td ng-init="getItemsList()">
    <select ng-model="addItems.item" ng-options="item.name for item in itemList">                       
    </select>
  </td>
</tr>

项目

将ng选项更改为

ng-options="item.id as item.name for item in itemList"

然后,您的代码应该可以工作。

您可以使用下拉选项id或名称在下拉初始化时为模型分配索引 如下所示


项目

使用“item.id作为itemList中项目的item.name”。如果没有第一部分,它会将名称存储在additems.item中,并且不会工作。相反,您可以只执行$scope.additems.item=$scope.itemList[i].name;不,它不起作用,zack。它仍然将空值显示为默认值:(我尝试了这个,但我不知道为什么在我使用ng-model时下拉列表中有一个空格。它没有被选中。你可以尝试这个:默认值
ng-options="item.id as item.name for item in itemList"