2009-09-16 100 views
2

我有以下HTML情形:添加jQuery的條件驗證,以動態地生成的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> 

如果複選框Ñ被檢查,那麼文本框Ñ是必填字段。

我剛剛開始使用(?)jQuery validation模塊,並試圖找出如何實現此驗證,這看起來似乎比示例更復雜一點。

從概念上講,我想我想添加一個CSS類到我的複選框,然後使用addClassRules添加一個自定義規則。然而,挑戰在於如何爲每個複選框指定相關的文本框。

我的HTML是使用ASP.NET MVC生成的,所以我可以動態生成爲每個複選框指定規則的JavaScript,但是這看起來有點冗長。

回答

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; 
} 

一個限制是,這隻有當焦點離開文本框時纔會觸發 - 理想情況下,規則也會觸發複選框被點擊。

1

我做過類似的事情,理查德。雖然我停止了自定義規則。我的方法是將「必需」類添加到輸入標記。

就你的選擇器而言,你能不能有你的文本框,並輸入「共享」一個他們獨有的類,說class0 .. classN並在該類中選擇一個輸入?

善良,

相關問題