gpt4 book ai didi

jquery - 使用 Jquery 验证验证组内的组

转载 作者:行者123 更新时间:2023-12-01 05:02:34 24 4
gpt4 key购买 nike

我知道这段代码很糟糕,但除了一部分之外它可以工作:

当您选择"is"时,如果您选中 3 个复选框(新闻通讯、新闻通讯 2 或新闻通讯 3)中的任何一个,则每个组中都会出现 2 个复选框,如图 1 所示:

Figure 1

但是当人们在“更多?”中选择"is"时首先,我将下拉菜单中的 3 个选项(新闻通讯、新闻通讯 2 和新闻通讯 3)设为必填(您必须至少选择一个选项/最小长度:1),如图 2 所示:

Figure 2

一切正常并提交,但我被困在这部分。简而言之,我希望您首先看到的 3 个选项(在单击它们之前)要求您在验证之前至少单击这 3 个选项中的一个。

这是迄今为止有效的代码:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>

<script type="text/javascript">
$.validator.setDefaults({
});

$().ready(function() {

$("#commentForm").validate({

rules: {

'entry.7.group': {
required: "#newsletter:checked",
minlength: 1
},
'entry.77.group': {
required: "#newsletter2:checked",
minlength: 1
},
'entry.777.group': {
required: "#newsletter3:checked",
minlength: 1
}
}
});
});
</script>

<script language="JavaScript">
function showhidefield1()
{
if (document.mainform.more.value == 'yes')
{
document.getElementById("hideablearea1").style.display = "block";
document.getElementById("newsletter.group").find("input").val("").addClass("required");

}
else
{
document.getElementById("hideablearea1").style.display = "none";
document.getElementById("newsletter.group").find("input").val("").removeClass("required");

}
}
</script>


<script language="JavaScript">
function showhidefield2()
{
if (document.mainform.newsletter.checked)
{
document.getElementById("hideablearea2").style.display = "block";
document.getElementById("group_7_1").find("input").val("").addClass("required");
document.getElementById("group_7_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea2").style.display = "none";
document.getElementById("group_7_1").find("input").val("").removeClass("required");
document.getElementById("group_7_2").find("input").val("").removeClass("required");
}
}
</script>

<script language="JavaScript">
function showhidefield3()
{
if (document.mainform.newsletter2.checked)
{
document.getElementById("hideablearea3").style.display = "block";
document.getElementById("group_77_1").find("input").val("").addClass("required");
document.getElementById("group_77_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea3").style.display = "none";
document.getElementById("group_77_1").find("input").val("").removeClass("required");
document.getElementById("group_77_2").find("input").val("").removeClass("required");
}
}
</script>

<script language="JavaScript">
function showhidefield4()
{
if (document.mainform.newsletter3.checked)
{
document.getElementById("hideablearea4").style.display = "block";
document.getElementById("group_777_1").find("input").val("").addClass("required");
document.getElementById("group_777_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea4").style.display = "none";
document.getElementById("group_777_1").find("input").val("").removeClass("required");
document.getElementById("group_777_2").find("input").val("").removeClass("required");
}
}
</script>


<style type="text/css">
label.error {
color: #ff0600; list-style-position: outside;
clear: left;
display: inline;
float:right;
height:10px;}
}
</style>

</head>

然后正文中有这样的内容:

      <select name="newsletter4" class="required" id="more" onchange="showhidefield1()">
<option value="">More?</option><option value="yes">Yes</option><option value="no">No</option></select>
<div id='hideablearea1' style='display:none'>
<br><br>

<input type="checkbox" class="checkbox" id="newsletter" name="newsletter.group" onclick="showhidefield2()"/>Newsletter
<div id='hideablearea2' style='display:none'>
<input type="checkbox" id="group_7_1" value="Choice 1" name="entry.7.group" />Choice 1
<input type="checkbox" id="group_7_2" value="Choice 2" name="entry.7.group" />Choice 2

<br><br></div>
<br><br>

<input type="checkbox" class="checkbox" id="newsletter2" name="newsletter.group" onclick="showhidefield3()"/>Newsletter2
<div id='hideablearea3' style='display:none'>

<input type="checkbox" id="group_77_1" value="Choice 1" name="entry.77.group" />Choice 1
<input type="checkbox" id="group_77_2" value="Choice 2" name="entry.77.group" />Choice 2
</div>
<br><br>
<input type="checkbox" class="checkbox" id="newsletter3" name="newsletter.group" onclick="showhidefield4()"/>Newsletter3
<div id='hideablearea4' style='display:none'>

<input type="checkbox" id="group_777_1" value="Choice 1" name="entry.777.group" />Choice 1
<input type="checkbox" id="group_777_2" value="Choice 2" name="entry.777.group" />Choice 2

</div>
</div>

<p></p>
<input type="hidden" name="pageNumber" value="0">
<input type="hidden" name="backupCache" value="">


<div class="ss-item ss-navigate"><div class="ss-form-entry">
<p>
<input name="pageNumber" type="hidden" value="0" />
<input name="backupCache" type="hidden" />
<input name="submit" type="submit" value="Submit Form"/>

最佳答案

听起来您需要自定义您自己的“必需”规则。看看这个:
http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

它应该引导您走上正确的道路。

关于jquery - 使用 Jquery 验证验证组内的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8686613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com