我们有一个基于数据库配置呈现的动态表单。我正在使用下面提到的代码
但是我无法获得所选复选框元素的值。请指导我完成这个。 我正在使用Checkbox Elements的清单模型。
<label ng-repeat="cCheck in form.color">
<input type="checkbox" checklist-model="outputs[form.databaseAttr]" checklist- value="cCheck" ng-init="outputs[form.databaseAttr] = form.defaultValue"> {{cCheck}} <br>
</label>
如果我们有更好的处理动态表单的方式,请告诉我。像jQuery Serialize这样我们传递formId并从表单中获取所有元素。
答案 0 :(得分:1)
开发了一个清单指令来解决复选框问题。您可以下载check-list.js并将其添加为模块依赖项,如下所示:
var exampleApp = angular.module('example', ["checklist-model"]);
因此,在您的HTML中,您应分别使用checklist-model
和checklist-value
代替ng-model
和ng-value
:
<div ng-switch-when="checkbox">
<br>{{form.text}} <br>
<label ng-repeat="cCheck in form.color">
<input type="checkbox" checklist-model="outputs[form.databaseAttr]" checklist-value="cCheck" ng-init="outputs[form.databaseAttr] = form.defaultValue"> {{cCheck}} <br>
</label>
</div>
编辑:要设置复选框的默认值,您可以将所需的值放入outputs[from.databaseAttr]
数组中。在您的情况下,defaultValue:
{
text: 'select mutiple colors',
databaseAttr: 'checkbox',
type: 'checkbox',
color: ['red', 'blue', 'black'],
defaultValue: ['blue'] // <-- blue is set as default
}