无法为动态生成的输入字段添加jQuery验证?

时间:2015-03-14 07:13:27

标签: jquery jquery-validate

我有一些输入字段,这些字段是在点击按钮时根据jQuery中的click事件动态生成的。我正在尝试将客户端验证添加到这些输入字段。

但问题是,由于用户可以动态添加任意数量的输入字段,因此id&输入字段的名称不同。它就是这样做的,以便轻松地在服务器端获取值。

所以在第一次点击时,id&输入字段的名称分别为company_name0,emp0,offc_email0。在第二次单击时,它将添加一组新的输入字段以及已存在的字段&这个名字和id将成为company_name1,emp1,offc_email1&等等。

验证码:

$('#frm_members').validate(
 {
  rules: {
    company_name: {
         required: true
      }, 
     emp :{
          number:true
     },

    offc_email:{
        email: true
    }
   }
}); 

这是fiddle,其中包含部分工作演示&有html&动态生成字段所需的其他必要的jquery代码。

2 个答案:

答案 0 :(得分:1)

add button点击事件中:

$("form").on("click", "#add_company", function (e) {    
    $('.addcomp').each(function () {
        $(this).rules("add", {
            required: true
        });
    });
});
祝你好运

答案 1 :(得分:1)

您需要遵循代码click功能

$("#add_company_div"+ i +" .input-sm").each(function(){
    $(this).rules("add", {
          required: true
    });
});

<强> Demo

修改

$("#add_company_div" + i+" .input-sm").each(function(){
      if($(this).attr("id").indexOf("company_name")>=0)
       {
           $(this).rules("add", {
              required: true
            });
       }
});

<强> Demo