jQuery验证插件-根据下拉响应生成所需的复选框组
我第一次将jQuery验证插件与HTML表单一起使用。我习惯于使用普通的javascript来实现这个功能,但我完全喜欢这个插件!不管怎样,我一直在尝试做一些条件验证 场景:我有一个由两部分组成的问题。第一部分是“是/否”下拉列表(必填)。第二部分是一组复选框,如果在上一个下拉列表中选择了“是”,则必须至少选中其中一个复选框jQuery验证插件-根据下拉响应生成所需的复选框组,jquery,forms,jquery-validate,conditional,Jquery,Forms,Jquery Validate,Conditional,我第一次将jQuery验证插件与HTML表单一起使用。我习惯于使用普通的javascript来实现这个功能,但我完全喜欢这个插件!不管怎样,我一直在尝试做一些条件验证 场景:我有一个由两部分组成的问题。第一部分是“是/否”下拉列表(必填)。第二部分是一组复选框,如果在上一个下拉列表中选择了“是”,则必须至少选中其中一个复选框 <div> <p><span class="bold large-font">8.</span> Some question
<div>
<p><span class="bold large-font">8.</span> Some question to answer Yes or No to...</p>
<div class="margin-left-fifty">
<select id="Q8" class="Q8" name="Q8">
<option value="" selected></option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</div>
<div class="margin-left-fifty">
<p><span class="underline italic">If Yes,</span> indicate which areas...</p>
</div>
<div class="margin-left-eighty">
<input id="Q8yesA" class="Q8yes" name="Q8yesA" type="checkbox" value="Yes" />
<label for="Q8yesA"><span class="small-font">a.</span> Option A</label>
<br />
<input id="Q8yesB" class="Q8yes" name="Q8yesB" type="checkbox" value="Yes" />
<label for="Q8yesB"><span class="small-font">b.</span> Option B</label>
<br />
<input id="Q8yesC" class="Q8yes" name="Q8yesC" type="checkbox" value="Yes" />
<label for="Q8yesC"><span class="small-font">c.</span> Option C</label>
<br />
<input id="Q8yesD" class="Q8yes" name="Q8yesD" type="checkbox" value="Yes" />
<label for="Q8yesD"><span class="small-font">d.</span> Other</label>
<input name="Q8yesDlist" type="text" maxlength="255" size="50" value="" placeholder="Please list..." />
</div>
我一直在尝试将addMethod封装在If语句中,但无法完全理解它。我甚至不确定这是不是正确的想法
非常感谢您的帮助!谢谢 有几种方法可以做到这一点,而您正在寻找其中一种方法。不过,我想提出一种不同的方法。首先,重新组织复选框使其具有相同的
名称
属性,但不同的值
属性是有意义的。这将使它们在jQuery验证中表现得更好。这就是您现在拥有的:
<input id="Q8yesA" class="Q8yes" name="Q8yesA" type="checkbox" value="Yes" />
我已经使用了规则的依赖表达式
版本
下面是它的实际效果:在阅读了很多很多帖子后,我想这样的改变一定会发生。我喜欢依赖表达式,非常有用!我的挂起在mySQL表的后端。正如我所说,我之所以有不同的名字是因为这是一个大型调查,当我从mySQL下载CSV给分析师时,我试图避免他们进行任何“文本到列”的操作。我知道这可能超出了您的范围,但您是否有一个建议,将这些值传递给mySQL,以便对它们进行重命名?如果你不…只是好奇没关系。谢谢我不太确定您需要什么,但您可以在通过AJAX请求提交表单数据之前使用
submitHandler
重新调整表单数据?
<input id="Q8yesA" class="Q8yes" name="Q8yesA" type="checkbox" value="Yes" />
<input id="Q8yesA" class="Q8yes" name="Q8yes" type="checkbox" value="Q8yesA" />
rules: {
Q8: "required",
Q8yes: {
required: '#Q8 option[value="Yes"]:selected'
},
Q8yesDlist: {
required: '#Q8yesD:checked'
}
}