我有以下HTML方案:
<div>
<input id="txt0" type="text" /><input type="checkbox" id="chk0" /></div>
<div>
<input id="txt1" type="text" /><input type="checkbox" id="chk1" /></div>
<!-- etc -->
<div>
<input id="txtN" type="text" /><input type="checkbox" id="chkN" /></div>
如果选中复选框 N ,则文本框 N 是必填字段。
我刚刚开始使用(?)jQuery validation模块,并试图找出如何实现此验证,这似乎比示例更复杂。
从概念上讲,我认为我想在我的复选框中添加一个CSS类,然后使用addClassRules
添加自定义规则。但是,挑战在于如何为每个复选框指定相关的文本框。
我的HTML是使用ASP.NET MVC生成的,所以我可以动态生成为每个复选框指定规则的JavaScript,但这看起来有点啰嗦。
答案 0 :(得分:1)
我做了类似的事,理查德。虽然我停止了自定义规则。我的方法是在输入标记中添加“必需”类。
就你的选择器而言,你有没有你的文本框和输入“共享”他们独有的类说class0 .. classN并在该类中选择一个输入?
善,
丹
答案 1 :(得分:1)
解决,使用以下方法...
我更新了HTML以将特定的CSS类包含到我的文本框(amount_text_box
)中,并使用了以下jQuery:
$.validator.addClassRules("amount_text_box", { required: function(element) {
var chkId = element.id.replace(/txt/, "#chk");
return $(chkId)[0].checked;
}
一个限制是,只有当焦点离开文本框时才会触发 - 理想情况下,单击复选框时规则也会触发。