我需要有两种不同的形式。有时动态我希望有两个并排,其他时间只有一个,所以我需要它们被相同的条款和条件复选框标记。到目前为止,使用我学到的不同文章,您可以使用$(".one, .two")
在jQuery中定位多个元素,但是下面的代码会阻止任何一种形式的提交。
<form method="post" id="options-select1">
.....
</form>
<form method="post" id="options-select2">
.....
</form>
<div class="termsconditions">
<label>
<input id="tc1" type="checkbox" />
I accept the <a href="/privacy/" target="_blank">Terms & Conditions</a>
</label>
</div>
<script>
$("#options-select1, #options-select2").submit(function(e) {
if (!$('tc1:checked').length) {
alert("Please accept our terms and conditions");
return false;
}
return true;
});
</script>
有人可以告诉我我做错了什么。
答案 0 :(得分:0)
你的代码中有一个拼写错误导致jQuery在找到元素时失败。
您忘记了选择器#
中的$('tc1:checked')
。
固定代码
<form method="post" id="options-select1">
.....
</form>
<form method="post" id="options-select2">
.....
</form>
<div class="termsconditions">
<label>
<input id="tc1" type="checkbox" />
I accept the <a href="/privacy/" target="_blank">Terms & Conditions</a>
</label>
</div>
<script>
$("#options-select1, #options-select2").submit(function(e) {
if (!$('#tc1:checked').length) { //Note the change here
alert("Please accept our terms and conditions");
return false;
}
return true;
});
</script>
希望这有帮助!