我有一个与jquery validatior插件有关的问题。 我有一个表单,其中所有字段都使用ajax动态加载。所有字段名称和ID动态设置。所以我不能把他们的名字变成jquery。
管理员可以将某些文件验证设置为true或false。现在我的问题是复选框。我将他们的名字设置为数组。此外,我使用漂亮的复选框自定义类来复选框上应用样式。例如:一组chkbox数组名称从:name = chkbox_30 []开始,其他一组复选框数组名称= check-box_25 []
GROUP1:
<input id="check-box_30" class="pretty_custom req_question" type="checkbox" size="100" onchange="return chk_ckbox(this.id);" data-label="opt2" value="opt2" name="check-box_30[]" style="display: none;">
<label for="check-box_30">opt2</label>
<input id="check-box_30" class="pretty_custom req_question" type="checkbox" size="100" onchange="return chk_ckbox(this.id);" data-label="opt1" checked="checked" value="opt1" name="check-box_30[]" style="display: none;">
<a class="checked " href="#"></a>
<label for="check-box_30">opt1</label>
第2组:
<input id="check-box_25" class="pretty_custom" type="checkbox" size="100" data-label="1 color" checked="checked" value="1 color" name="check-box_25[]" style="display: none;">
<a class="checked " href="#"></a>
<label for="check-box_25">1 color</label>
<input id="check-box_25" class="pretty_custom" type="checkbox" size="100" data-label="4 color" value="4 color" name="check-box_25[]" style="display: none;">
<a class=" " href="#"></a>
<label for="check-box_25">4 color</label>
<input id="check-box_25" class="pretty_custom" type="checkbox" size="100" data-label="multi color" value="multi color" name="check-box_25[]" style="display: none;">
<a class=" " href="#"></a>
<label for="check-box_25">multi color</label>
对于第1组复选框,需要验证:至少需要选择一个chkbox。 对于第2组,我不需要任何验证。
有人可以帮忙解决这个问题吗? 如何验证它们。我还在'req_question'中添加了一个类,我需要对它们进行验证。
答案 0 :(得分:0)
试试这个:
function isFormValid()
{
var requiredCBs = $('.req_question');
var id = '';
var flag = false;
for(var i=0;i<requiredCBs.length; i++)
{
var ths = $(requiredCBs[i]);
var thsId = ths.attr('id');
if(id == '')
{
id = thsId; // For first element
flag = false;
}
else
if(id == thsId)
{
if(!flag) // No checkbox checked for this group
if(ths.is(':checked')
flag = true;
}
else
if(id != thsId) // New group
if(flag)
{
id = thsId;
flag = false;
}
else
return false; // Previous group has no checkbox checked
}
return true; // All groups have at least one checkbox checked.
}