具有多个ID的多个复选框需要Jquery验证,如ID1,ID2,ID3

时间:2015-09-12 08:23:31

标签: javascript jquery checkbox

我有一个"我同意"带有复选框的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;对于所有复选框 - 我认为这将是最好的方法..

很多!

1 个答案:

答案 0 :(得分:0)

看起来您的设计对您的需求是错误的。对于单独的复选框,您应该有单独的名称,因为它们反映了单独的用户操作(与新要求的协议)。例如,通过这种方式,您可以为每个复选框提供唯一的验证消息(您可能不需要这样,但这可能是将来有用的选项)。

假设您有一个项目数组,用户应该同意被称为itemsToAgree的验证对象和您定义为"agree[]": { required: true } validationObject的验证对象,那么这样可以设置验证:

for (var i = 0; i < itemsToAgree.length; ++i) {
    validationObject['agree' + i] = {required: true}
}
之后,我猜你有一些动态标记生成。在那里使用与validationObject中的名称相同的格式(同意&lt; x&gt;),它应该有效。

我不知道您的代码,因此我的解决方案可能与您的具体情况无关,但我认为无论如何都提供了一种方法。