我有一个isuue与jquery验证插件。我有一个表单,其中所有字段都是使用Ajax动态加载的。所有字段的名称和ID都是动态设置的。所以我无法将他们的名字输入jQuery。
管理员可以将某些文件验证所需的设置为true或false。现在我的问题是复选框。我把他们的名字放入数组。另外,我正在使用pretty-checkbox自定义类在checkbox上应用样式。For ex:一组chkbox数组名称从:name=chkbox_30[]开始,另一组checkbox数组name=check-box_25[]
组1:
<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>
第二组:
<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 required。对于第2组,我不需要任何验证。
有谁能帮助解决这个问题吗?如何验证它们。我还为'req_question'添加了一个类,我需要对它们进行验证。
试试看:
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.
}