2013-06-12 132 views
0

我有一個窗體部分,動態生成和增加它的ID。 喜歡的東西:jQuery驗證插件和動態輸入

<input type='text' name='fname1' id='fname1'/> 
<input type='text' name='lname1' id='lname1'/> 

我試圖去通過和驗證首次形式(我從來沒有使用之前的jQuery驗證的插件),我與形式ID開始爲「確認」

$('#confirm').validate({ 
    rules:{ 
      oneoftheinputnameshere:{ 
      required: true 
      } 
      } 
}); 

上面是罰款,雖然我驗證不改變的輸入字段,但我怎麼會選擇什麼東西來驗證,當我不知道它會產生多少次?我看了一些關於這個問題的其他問題,並向所需的每個輸入字段添加了一個類,但我不確定這是正確的還是如何去實現它。

任何幫助將是巨大的

編輯:IDS會被一個如此「fname2」,「fname3」等

+0

看一看這個帖子,應該幫你: http://stackoverflow.com/questions/5440724/jquery-validation-plugin-dynamic-rules?rq=1 – JanR

+0

謝謝 - 我已經看到了這一點,但無法將其應用到我的項目。這是確定正確的方向。 – user2467599

回答

0

看起來相當數量的HTML代碼從您的文章缺少增加,但您要查找的是jQuery .each().children(),具體取決於您想如何接近它。

.each()將是很好的基於類似的陣列在另一元件上,動態地生成(和存儲名稱)的ID,以及.children()將用於通過使用類似的jQuery .contains()表中的元素進行迭代是好的(是它們可以堆疊)。我知道這有點讓人困惑,所以花些時間閱讀上面的jQuery方法。

+0

我只給出了部分代碼(坦率地說,可能不是那些可以幫助他人更清楚地理解我的問題的部分)。 JanR指出我正確的方向。必須在創建新ID時添加驗證規則。 – user2467599

0

檢查下面的鏈接,動態驗證例如

http://jquery.bassistance.de/validate/demo/dynamic-totals.html

舉例:標記

<textarea style="display:none" id="template"> 
    <div class="row" > 
     <input name="form{0}" id="form{0}" title="Please enter your username" required >  
    </div> 
</textarea> 

<form id="orderform" method="get" action="foo.html"> 
    <div id="orderitems"> 
    </div> 
    <input class="submit" type="submit" value="Submit"/> 
</form> 
<button id="add">Add another input to the form</button> 

腳本:

<script type="text/javascript"> 
// only for demo purposes 
    $.validator.setDefaults({ 
     submitHandler: function() { 
      alert("submitted!"); 
     } 
    }); 
    $().ready(function() { 
     $("#orderform").validate({ 
      errorPlacement: function(error, element) { 
       error.appendTo(element.parent(".row")); 
      } 
     }); 

     var template = jQuery.validator.format($.trim($("#template").val())); 

     function addRow() { 
      $(template(i++)).appendTo("#orderitems"); 
     } 

     var i = 1; 
     // start with one row 
     addRow(); 
     // add more rows on click 
     $("#add").click(addRow); 
    }) 
    </script> 
+0

答案應該完全自包含,不能僅僅依靠外部鏈接的健康。請在鏈接中顯示您的答案中的相關代碼。 – Sparky