我有一个"我同意"带有复选框的XX字段的表单。
此字段来自SQL表,将由管理员选择或创建。
管理员可以根据自己的需要创建任意数量。
必须使用所有复选框。
有没有办法检查并要求所有带有一个Jquery规则的复选框?
"agree[]": {
required : true,
},
<form class="form-horizontal" id="form" role="form" action="#" method="POST" autocomplete="off">
<div class="form-group has-feedback">
<label class="col-lg-4 col-md-4 col-sm-3 col-xs-3 control-label mLabelText"></label>
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-8 form-space checkbox">
<label>
<input type="checkbox" id="agree1" name="agree[]" value="1">
CONDITION 1
</label>
</div>
</div>
<div class="form-group has-feedback">
<label class="col-lg-4 col-md-4 col-sm-3 col-xs-3 control-label mLabelText"></label>
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-8 form-space checkbox">
<label>
<input type="checkbox" id="agree2" name="agree[]" value="2">
CONDITION 2
</label>
</div>
</div>
我试试这个 - 但是Jquery只需要一个复选框,而不是All。
****因为我需要一个&#34;动态规则&#34;对于所有复选框 - 我认为这将是最好的方法..
很多!
答案 0 :(得分:0)
看起来您的设计对您的需求是错误的。对于单独的复选框,您应该有单独的名称,因为它们反映了单独的用户操作(与新要求的协议)。例如,通过这种方式,您可以为每个复选框提供唯一的验证消息(您可能不需要这样,但这可能是将来有用的选项)。
假设您有一个项目数组,用户应该同意被称为itemsToAgree
的验证对象和您定义为"agree[]": { required: true }
validationObject
的验证对象,那么这样可以设置验证:
for (var i = 0; i < itemsToAgree.length; ++i) {
validationObject['agree' + i] = {required: true}
}
之后,我猜你有一些动态标记生成。在那里使用与validationObject
中的名称相同的格式(同意&lt; x&gt;),它应该有效。
我不知道您的代码,因此我的解决方案可能与您的具体情况无关,但我认为无论如何都提供了一种方法。