2

我有以下 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 验证模块,并试图弄清楚如何实现此验证,这似乎比示例复杂一点。

从概念上讲,我想我想在我的复选框中添加一个 CSS 类,然后用于addClassRules添加自定义规则。然而,挑战在于如何为每个复选框指定相关的文本框。

我的 HTML 是使用 ASP.NET MVC 生成的,因此我可以动态生成为每个复选框指定规则的 JavaScript,但这似乎有点冗长。

4

2 回答 2

1

我也做过类似的事情,理查德。尽管我没有遵守自定义规则。我的方法是将“必需”类添加到输入标签中。

就您的选择器而言,您能否没有您的文本框并输入“共享”一个他们独有的类,例如 class0 .. classN 并在该类中选择一个输入?

善良,

于 2009-09-16T12:55:29.177 回答
1

解决了,使用以下方法...

我更新了我的 HTML 以在我的文本框 ( amount_text_box) 中包含一个特定的 CSS 类,并使用了以下 jQuery:

$.validator.addClassRules("amount_text_box", { required: function(element) {
    var chkId = element.id.replace(/txt/, "#chk");
    return $(chkId)[0].checked;
}

一个限制是这只在焦点离开文本框时触发 - 理想情况下,该规则也会在单击复选框时触发。

于 2009-09-16T15:04:33.633 回答