AngularJS:根据模型类型显示适当的表单元素
AngularJS: Show appropriate form elements depending on model type
我有一个ConfigValues
的 Angular 模型。 本质上,它是从 C# 传入的Dictionary
,看起来有点像:
{
Name: "Config Name",
Value "True",
Type: 0 // boolean
}
有些是布尔值,有些是整数等。 我想要的是当我遇到布尔类型时智能地显示checkbox
(或者可能是select
),然后在看到另一种类型时显示正常input
。
我该怎么做?
<table>
<tr ng-repeat="(key, val) in module.ConfigValues">
<td>{{key}}</td>
<td><input type="text" ng-model="val.Value" ng-disabled="module.saving" /></td>
</tr>
</table>
尝试使用 ngIf
:
<table>
<tr ng-repeat="(key, val) in module.ConfigValues">
<td>{{key}}</td>
<td>
<input type="text" ng-model="val.Value" ng-disabled="module.saving" ng-if="val.Type !== 0" />
<input type="checkbox" ng-model="val.Value" ng-disabled="module.saving" ng-if="val.Type === 0" />
</td>
</tr>
</table>
如果你要有更多的类型,也许你可以尝试ngSwitch
:
<table>
<tr ng-repeat="(key, val) in module.ConfigValues">
<td>{{key}}</td>
<td>
<span ng-switch="val.Type">
<input type="checkbox" ng-model="val.Value" ng-disabled="module.saving" ng-switch-when="0" />
<input type="text" ng-model="val.Value" ng-disabled="module.saving" ng-switch-default="0" />
</span>
</td>
</tr>
</table>
相关文章:
- Javascript更新孙窗口中的表单元素
- 阻止表单元素提交
- 使用带有.net autopostback的ryanfait.com自定义表单元素
- 使用javascript更改表单元素的ID值
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 为什么表单元素不应命名为submit
- 如何重置搜索表单中的特定表单元素
- 使用 ng-repeat访问 ng 表单元素/值
- 获取电子邮件附件的表单元素
- AJAX和php脚本后添加的表单元素未传输到$_POST
- 如何对未知表单元素进行表单验证
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 在JavaScript中为表单元素生成键值对
- 表单元素上的jQuery focusout事件即使在单击子元素时也会被触发
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 表单元素值更改后的角度 JS 验证
- 使用 javascript 中的表单元素构建一个 xml 字符串
- 如何以角度访问表单元素的$valid
- 如果选择了多个选项,则使用 jQuery 显示隐藏的表单元素
- JSON 填充的表单元素不使用 angularJs 过滤器进行过滤