- 我正在尝试使用存储在 json 文件中的元数据在屏幕上显示 html 控件。
- 此外,我正在尝试创建一种状态,按下复选框将禁用下拉列表。
- 我成功地通过带有静态选项的选择框和带有动态选项的选择框(使用ng-options)实现了这一点。
- 当我用 ng-repeat 包装它时,我无法实现这一点。
我花了很多时间来完成这项工作,但处于风向标。
如果有人能指出我正确的方向,我将不胜感激。
我创建了一个示例代码,可以在 Plunker here 中找到。
最佳答案
来自ngRepeat文档:
The ngRepeat directive instantiates a template once per item from a collection. Each template instance gets its own scope
技巧是将 controlChecked
添加到 form
并删除 ng-init
。所以它们将在同一范围内。
<div ng-show="control.type == 'Checkbox'">
<input type="checkbox" ng-model="form.controlChecked" name="{{control.id}}"/>
</div>
<div ng-show="control.type == 'DropdownList'">
<select ng-model="control.id"
ng-disabled="!form.controlChecked"
ng-options="value.code as value.name for value in control.items"
name="{{control.id}}"
>
</select>
关于javascript - Angularjs 按下 ng-repeat 内的复选框时禁用下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18095171/