2013-08-04 40 views
-1

我使用jquery的appendTo()向我的表單添加輸入,但是我遇到了問題。 當我添加這些輸入時,jQuery驗證無法檢測到它們。jQuery表單驗證未檢測到元素

我創建了一個迭代這些輸入並添加規則的函數。

$("input[name^=cmp_]").each(function() { 
       $(this).rules("add", { 
        minlength: 50, 
        required: true, 
        digits: true 

       }); 
      }); 

新的投入也有唯一的名字cmp_phone1cmp_phone2cmp_phone3cmp_phone4

我的問題是如何在更改後驗證表單?

+0

**您必須顯示足夠的代碼才能重現此問題,因爲[您的發佈代碼正在工作**](http://jsfiddle.net/Y8dDS/)。顯示其餘的jQuery以及重現問題所需的HTML標記。 – Sparky

回答

1

我只能猜測你在做什麼。

我想你是遍歷頁面加載領域,而不是在添加後應用這些規則。您應該將該函數從.each()移至父範圍,並在元素添加後將其移至.apply(如果您想使用this)。 在這種情況下,我建議您應該只使用$(el),並將其傳遞給第一個參數。 .each()也自動做到這一點。不需要.apply,只需調用它即可。

-1
$('input[name^="cmp_"]').each(function() { 
       $(this).rules("add", { 
        minlength: 50, 
        required: true, 
        digits: true 

       }); 
      }); 

試試這個。

+1

看不出有什麼區別 –

+0

喜變化報價 – Wizard

+0

bbut那不行 – Wizard