我有以下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,但这看起来有点啰嗦。

有帮助吗?

解决方案 2

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

我更新了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;
}

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

其他提示

我做了类似的事,理查德。虽然我停止了自定义规则。我的方法是在输入标记中添加“必需”类。

就您的选择而言,您是否可以使用文本框并输入“分享”?一个他们独有的类说class0 .. classN并在该类中选择一个输入?

善,

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top