Javascript 动态行验证不起作用-jquery?

Javascript 动态行验证不起作用-jquery?,javascript,jquery,html,jquery-validate,Javascript,Jquery,Html,Jquery Validate,我试图验证动态添加的行,但有一些错误它不起作用。 我找不到我的问题。 有人告诉我或纠正我为什么它不起作用吗 我需要动态验证添加行和列 这是我的全部代码 ' newRow.append(cols); var defVal=$(“选择[name=acctname]”)。查找(“:selected”).val(); if(defVal){ $(“选择[name=accountName]”)。查找(`option[value=${deffal}]`)。隐藏(); } $(“table.order lis

我试图验证动态添加的行,但有一些错误它不起作用。 我找不到我的问题。 有人告诉我或纠正我为什么它不起作用吗

我需要动态验证添加行和列

这是我的全部代码

' newRow.append(cols); var defVal=$(“选择[name=acctname]”)。查找(“:selected”).val(); if(defVal){ $(“选择[name=accountName]”)。查找(`option[value=${deffal}]`)。隐藏(); } $(“table.order list”).append(newRow); setValCashVal('accountName'.concat(计数器)); bindScript(); 计数器++; }); $(“table.order list”)。在(“click”、“.ibtnDel”函数上(\u事件){ $(this).tr.remove(); if($(“#制表符逻辑体tr”)。长度==1) $(“#现金文本:第一”).val(“”); 评估总数(); }); }); //动态行验证 $(文档).ready(函数(){ $('#contactForm')。在('submit',函数(事件){ console.log($('.narr')) $('.status')。每个(函数(){ $(此).rules(“添加”{ 必填项:true }) }); $('.narr')。每个(函数(){ $(此).rules(“添加”{ 必填项:true }) }); $('.deb')。每个(函数(){ $(此).rules(“添加”{ 必填项:true }) }); event.preventDefault(); if($('#contactForm').validate().form()){ 警报(“验证”); }否则{ 警报(“不验证”); } }); $(“#contactForm”).validate(); });

选择代码*
描述*
数量*
行动*

关于更改的第一个要点:

  • 在递增计数器的实现中出现了一个问题,所以我首先将其更改为工作计数器。问题是在后续行中获得计数器的NaN值,因此后续行将无法获得唯一名称。我刚刚在外部创建了一个变量,它将在每次单击add按钮时递增
  • 我只是在展示如何让它工作。对我来说,框架在如何处理错误消息的显示方面存在问题。我的意思是,输入字段的名称应该是唯一的,以便显示错误消息。这会给数组类型字段带来问题,就像后端的问题一样。我想你必须在后台即兴创作
以下是总结的代码片段:

let counter = 0;

$(document).ready(function() {
  $("#add_Row").on("click", function() {
    counter++;

    ...

    cols += '<td><select class="form-control sel_sel status required" id="accountName' + counter + '" name="accountName'+counter+'" for="accountName" required><option value="">Choose an account</option><option value="1">code 1</option></select></td>';
    cols += '<td><input value="' + first_ele + '" type="text" class="form-control required price narr" name="narr'+counter+'" placeholder="Enter your text here" id="acc_narrat' + counter + '" data-toggle="modal" data-target="#narratModal"/></td>';

    cols += '<td><input type="number" class="form-control sumTot deb allignAmt" id="cashdeb' + counter + '" min="0" data-action="sumDebit" name="debit'+counter+'" placeholder="Debit amount" onkeypress="restrictMinus(event);" required/></td>';

    ...

  });

  ...

});

...
let计数器=0;
$(文档).ready(函数(){
$(“添加行”)。在(“单击”,函数()上{
计数器++;
...
cols+='选择一个帐户代码1';
cols+='';
cols+='';
...
});
...
});
...

请注意动态字段名称属性中的连接计数器。

我没有看到表单元素,jquery验证是否需要它?@ArunmainthanKamalanathan是的,先生!对不起,我忘了。。请检查我的最新问题..我能让它工作。重要的一点是使名称值唯一。@SUGUSNK第一行验证仅适用于bro。。我正在使用类和每个函数。。还有其他方法吗?你更新了什么?如果您解决了获取计数器然后将计数器连接到名称的问题,那么它将正常工作。是的!我试过用这种方法,但是身份证号码改变了。。请参考我的错误-我已经查看了图像,错误与您的实现无关。只是一个未找到的svg文件。“现在出什么问题了?”乔,请把错误拼出来。您评论中的链接图像只会转到404错误页面。