Angularjs ng在选择标记中重复,不产生结果
在select标记中使用ng repeat时遇到很多问题。由于某些原因,以下内容不起作用,尽管所有文档都表明它应该起作用Angularjs ng在选择标记中重复,不产生结果,angularjs,Angularjs,在select标记中使用ng repeat时遇到很多问题。由于某些原因,以下内容不起作用,尽管所有文档都表明它应该起作用 <select id="blahh" ng-model="log_instances" class="selectpicker" multiple> <option>this works</option> <!-- this works --> <option ng-repeat="comp in env.st
<select id="blahh" ng-model="log_instances" class="selectpicker" multiple>
<option>this works</option> <!-- this works -->
<option ng-repeat="comp in env.status.components">test-value</option>
</select>
这很有效
测试值
最后显示的唯一选项是“this works”(此选项有效),但我希望ng repeat(ng重复)中描述的每个项目都会显示“test value”(测试值)
此外,我还检查了控制台中的angular.element(document.getElementById('blahh')).scope()
,它显示了我希望看到的正确数据。此外,如果我在这个select的正下方包含一个表,该表具有相同的ng repeat和字段,那么它将生成预期的输出。我用的是Angular 1.6.5
感谢您的帮助 使用
ng选项
如下所示。但是您的代码也应该可以检查env.status.components
<select ng-options="item as item.label for item in items track by item.id" ng-model="selected"></select>
我想问你的问题是,如果你手头有足够的资源,为什么要在多选中使用
ng repeat
假设您的comp
对象如下所示:
{
name: 'somevalue'
}
我会将您的代码更改为:
<select id="blahh" multiple="true" ng-model="log_instances" ng-options="comp.name for comp in env.status.components"></select>
请看一看我为您制作的原始问题中包含的HTML片段有
标记作为
标记的直接子项,这将产生无效标记,因为只允许
或
元素
每当您有一个需要显示为选择列表的数据收集时,Angular的属性使其变得简单
此外,如果您需要一个默认选项(例如,由于AJAX请求,采集数据可能正在传输中),请包括一个分配了空值的
元素(即value=”“
),然后,您可以使用ng if
在不再需要时隐藏此默认选项。仅允许
或
元素作为子元素(即生成无效标记)。为什么不改为使用
上的属性呢?啊,是的,很好的一点@miqid,但这意味着上面的(编辑过的)应该可以工作?就像在中一样,我只是尝试了上面的方法,但仍然不起作用:/我想我的建议不够清楚,根本不要使用ng repeat
,而是使用ng options
。下面是一个如何使用它的示例,当然要根据您的情况调整它:啊,是的,这是有效的,因为您是第一个提出这一点的,如果您想在下面提供,我可以标记您的答案:)