2015-01-12 81 views
1

http://www.kosherjellyfish.com/test/index.php如何創建動態生成的場

規則我使用[jQuery驗證插件] [1]我的形式。

我在動態生成的表格中有表單字段:表的數量取決於用戶創建的數量。下表中的示例:

<?php (for $i=1;$i<3;$i++){?> 
<table class="coauthortable"> 

    <tr> 
     <td>Title * </td> 
     <td> 
      <select name="contactTitle<? echo $i;?> "> 
      <option value="">Select Title</option> 
      <option value="Dr">Dr</option> 
      <option value="Miss">Miss</option> 
      <option value="Mr">Mr</option> 
      <option value="Mrs">Mrs</option> 
      <option value="Ms">Ms</option> 
      <option value="Professor">Professor</option> 
     </select> 
     </td> 
    </tr> 

    <tr> 
     <td>First Name *</td> 
     <td><input type="text" name="contactFirstName<? echo $i;?>" style="width:280px;" /></td> 
    </tr> 


    <!--Actual program has more rows--> 

</table> 
<?php } ?>      

我想驗證規則添加到動態生成的輸入字段:好像我不能在驗證方法本身做正確的,因爲我不知道實際要生成這回事字段數:

$("#papersubmitform").validate(
     { 
     rules:{ 
      //Can't add rules this way as I do not know how many rows will be generated. 
      contactTitle: {required: true}, 
      contactFirstName: { required:true}, 

}); 

我試圖添加會在$添加規則,但它似乎(文件)。就緒(函數()一次加載頁面時,不去工作

$(document).ready(function() { 
    $(".coauthortable").each(function(i){ 
      $(this).find(":input").each(function(){ 
       $(this).rules("add",{required:true}); 
      });   
}); 

    $("#papersubmitform").validate();   


}); 

有沒有人對我應該如何將規則添加到動態創建的元素有任何建議?

我在自己的服務器中創建的樣本頁面在這裏... http://www.kosherjellyfish.com/test/index.php

回答

1

你只需要做的是,在相反的順序:

$(document).ready(function() { 
    $("#papersubmitform").validate();   

    $(".coauthortable").each(function(i){ 
      $(this).find(":input").each(function(){ 
       $(this).rules("add",{required:true}); 
      });   
    }); 
}); 
+0

大,現在的工作:) – kosherjellyfish