2009-11-16 33 views
2

我正在使用Jquery表單驗證插件在提交之前驗證表單中的輸入,有一些輸入元素命名爲「question1」,「question2」,「question3」,...,它們是動態生成的。因此,如何驗證的jQuery插件功能驗證中),這些投入要素(?我需要一種方法來首先選擇它們。Jquery表單驗證插件,如何選擇動態生成的輸入元素進行驗證?

$(document).ready(function() { 
    $("#formname").validate({ 
     rules: { 
      title: { 
       required: true, 
       minlength:40 
      }, 
      content: { 
       required: true, 
       minlength:100, 
       maxlength:2000 
      } 
     }, 
     messages: { 
     } 
    }); 
}); 

標題,內容是相同的形式內的其他投入要素,他們沒有動態生成這樣所以如何驗證「question1」,「question2」,「question3」,...,當然我可以這樣寫:

question1: { 
       required: true, 
       minlength:40 
      }, 
     question2: { 
       required: true, 
       minlength:40 
        }, 
     question3: { 
       required: true, 
       minlength:40 
      }, 
     ... 

但是,正如我所說的,這些輸入元素是動態生成的,我無法預測有多少「問題」。那麼如何完成這項工作?

回答

1

您必須在每個動態創建的元素上放置class =「question」屬性,以便您可以針對它們執行jQuery選擇器。

$(".question").validate({ etc... 
+0

我想參考在 $(「#formname」)。validate({}規則:{}})函數內的那些輸入元素。 – Steven 2009-11-16 06:16:50

+0

然後你需要一個子選擇器。我的jQuery-foo目前正在失敗,但我明天可以查找它。它就像$(「Formname question」)。validate(..等等 – 2009-11-16 07:04:53

0

我希望我理解這個問題:

你可以只寫在onChange處理到創建的每個元素。然後這會爲你調用一個驗證程序。它不是通過將驗證綁定到元素而獲得的不顯眼的方法,但它起作用。

JQuery的嘗試,以協助用這種動態元素:此刻http://docs.jquery.com/Events/live#typefn

但.live犯規支持更改事件。

另一個庫可能。谷歌周圍,看看。

相關問題