我在 jquery 中创建动态复选框,所有复选框都是必需的。我无法让 formvalidation.io 工作。
这是放置复选框的html:
<div class="card-body">
<div class="form-group" id="divRequiredFeeList">
</div>
</div>
这是生成复选框的jquery:
$("<div />", { class: 'col-xl-12' })
.append($("<div />", { "class": "custom-control custom-control-info custom-checkbox", "style": "display:inline" }))
.append($("<input />", { "type": "checkbox", "id": "cb" + idkey, "class": "custom-control-input", "name": "chkRequiredFees[]", "data-fv-field": "chkRequiredFees[]" }))
.append($("<label />", { "for": "cb" + idkey, "class": "custom-control-label required", "text": name }))
.appendTo($('#divRequiredFeeList'));
这是按预期工作的。这是我的验证:
'chkRequiredFees[]': {
validators: {
choice: {
message: 'Choose all required fees for acknowledgement.'
}
}
},
此外,在构建动态复选框以确保所有复选框都被选中后,我有这个,其中“otherFees.length”是生成的动态复选框的数量。
$('#frmFacilityReserve')
.formValidation('updateOption', 'chkRequiredFees[]', 'choice', 'min', otherFees.length);
如果我通过将复选框直接放在 html 中进行测试,它可以工作。我已经检查了生成的 html 是否仅对复选框进行硬编码,它似乎是一样的。我不知道为什么在动态构建复选框时它不起作用。我已经为此工作了 2 天,尝试了我能找到的一切。
任何帮助将不胜感激。