我在其他的帖子里读到过,但我想不通。
$scope.items = [
{ID: '000001', Title: 'Chicago'},
{ID: '000002', Title: 'New York'},
{ID: '000003', Title: 'Washington'},
];
<select>
<option value="000001">Chicago</option>
<option value="000002">New York</option>
<option value="000003">Washington</option>
</select>
我读过select也试过,但我想不通。
需要注意的一点是,ngModel是ngOptions工作所必需的...注意ng-model=“blah”
表示“将$scope.blah设置为选定值”。
试试看:
<select ng-model="blah" ng-options="item.ID as item.Title for item in items"></select>
以下是AngularJS文档中的更多内容(如果您还没有看到的话):
对于数组数据源:
对于对象数据源:
有关AngularJS中选项标记值的一些说明:
当您使用ng-options
时,由ng-options写出的选项标记的值将始终是选项标记所涉及的数组项的索引。这是因为AngularJS实际上允许您使用select控件选择整个对象,而不仅仅是基元类型。例如:
app.controller('MainCtrl', function($scope) {
$scope.items = [
{ id: 1, name: 'foo' },
{ id: 2, name: 'bar' },
{ id: 3, name: 'blah' }
];
});
<div ng-controller="MainCtrl">
<select ng-model="selectedItem" ng-options="item as item.name for item in items"></select>
<pre>{{selectedItem | json}}</pre>
</div>
以上将允许您直接将整个对象选择到$scope.selecteditem
中。关键是,使用AngularJS,您不需要担心选项标记中的内容。让AngularJS来处理;你应该只关心你的模型在你的作用域中有什么。
下面是一个柱塞,演示了上面的行为,并显示了所写出的HTML
处理默认选项:
上面有一些关于默认选项的事情我没有提到。
选择第一个选项并删除空选项:
<select ng-init="foo = foo || items[0]" ng-model="foo" ng-options="item as item.name for item in items"></select>
自定义默认选项:
这有点不同;在这里,您需要做的只是添加一个选项标记作为您的select的子标记,带有一个空的value属性,然后自定义它的内部文本:
<select ng-model="foo" ng-options="item as item.name for item in items">
<option value="">Nothing selected</option>
</select>
注意:在这种情况下,“空”选项将保留在那里,即使您选择了一个不同的选项。AngularJS下的selects默认行为不是这种情况。
自定义的默认选项,在进行选择后隐藏:
如果您希望自定义的默认选项在您选择了一个值之后消失,那么您可以将ng-hide属性添加到默认选项中:
<select ng-model="foo" ng-options="item as item.name for item in items">
<option value="" ng-if="foo">Select something to remove me.</option>
</select>
问题内容: 我已经在其他帖子中阅读过,但是我无法弄清楚。 我有一个数组 我想将其呈现为: 我也想选择ID = 000002的选项。 我已经阅读了 select 并尝试过,但是我无法弄清楚。 问题答案: 要注意的一件事是ngOptions起作用 需要 ngModel。请注意,这是“将$ scope.blah设置为所选值”。 试试这个: 这里是AngularJS文档的更多内容(如果您还没有看过的话):
问题内容: 我尝试使用AngularJS进行简单的选择下拉列表 这是我的代码: 格式如下: 选择下拉列表出现,但没有任何选择值,我在做什么错? 问题答案: 我相信您缺少ngModel指令,并且以错误的方式调用ng-options指令。 我在这里工作的地方做了个小矮人。
问题内容: 我刚刚升级到角度版本1.3.8。 当使用1.2.23版本时,我创建了一条指令来将数据表单视图转换为模型,反之亦然。 这是我的指令: }); 我在这里看到现在支持绑定中的getter和setter,但是我在任何地方 都 找不到如何同时使用getter 和 setter的方法。有什么办法吗?那就是-ng-model- options可以代替我的convert指令吗? 谢谢 问题答案: 该文
问题内容: 我已经搜索了几个小时,似乎无法在任何地方找到问题的答案。我记得我曾经能够实现它,但是由于某种原因我丢失了代码,而且我似乎不记得为使它起作用而做了什么。 我正在尝试使用ng-options在选择框中显示来自数组的数据。我没有问题的那个。我需要实现的是,只有某些数组值会显示/包括在选择框中。 我的数据如下: 我的HTML看起来像: 所以我想发生的是,如果属性“ active”的值为fals
问题内容: 我正在使用ng-options在我的角度应用程序中打印表单的所有选项。我直接从数据库中获得了价值,该数据库为我提供了国家列表: 在这里,当页面被加载时,选择不显示任何内容,即没有占位符,而我想打印一个静态值,例如“ anywhere”,而不必将其添加到“国家”列表中。 我已经试过了: 但这没用 有谁知道如何解决这个问题? 谢谢 问题答案: 您总是可以这样做: 这是我的小提琴例子 希望这
问题内容: 如何呈现以下选项列表的值? 预期结果(预期为value =“ limit.value”: 结果: 问题答案: 该指令未在元素上设置属性。它始终使用序列。 使用方式: 将的标签设置为 将值保存到选择的 检查此小提琴:http : //jsfiddle.net/bmleite/k58Hw/