Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery进行克隆验证部分工作 最初,当用户单击“下一步”按钮时,它将显示消息 因为您已经错过了7个字段。请在提交前填写 如果用户单击“添加更多”按钮,则将获得克隆,而不包含 如果用户单击“下一步”按钮,请填写任何必填字段。这个 消息仍然显示您已错过7个字段。请先填好 提交 一旦用户开始填写克隆字段中的任何字段,他 从clone和original div中漏掉了其余的必填字段,然后用户单击next按钮,它将显示漏掉了这么多字段_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jquery进行克隆验证部分工作 最初,当用户单击“下一步”按钮时,它将显示消息 因为您已经错过了7个字段。请在提交前填写 如果用户单击“添加更多”按钮,则将获得克隆,而不包含 如果用户单击“下一步”按钮,请填写任何必填字段。这个 消息仍然显示您已错过7个字段。请先填好 提交 一旦用户开始填写克隆字段中的任何字段,他 从clone和original div中漏掉了其余的必填字段,然后用户单击next按钮,它将显示漏掉了这么多字段

Javascript 使用jquery进行克隆验证部分工作 最初,当用户单击“下一步”按钮时,它将显示消息 因为您已经错过了7个字段。请在提交前填写 如果用户单击“添加更多”按钮,则将获得克隆,而不包含 如果用户单击“下一步”按钮,请填写任何必填字段。这个 消息仍然显示您已错过7个字段。请先填好 提交 一旦用户开始填写克隆字段中的任何字段,他 从clone和original div中漏掉了其余的必填字段,然后用户单击next按钮,它将显示漏掉了这么多字段,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试着在零钱上加上选择器,但还是不走运 $('.cloned_field').on('input','.cloned_div',function(e){ if($(this).val().trim().length > 0) { $(this).addClass("required_field"); var parent_div = $(this).closest("div.cloned-row1").find("input");

我试着在零钱上加上选择器,但还是不走运

$('.cloned_field').on('input','.cloned_div',function(e){
    if($(this).val().trim().length > 0)
    {

        $(this).addClass("required_field");
        var parent_div = $(this).closest("div.cloned-row1").find("input");
        parent_div.each(function () {
            $(this).addClass("required_field");
        });
    }
    check_for_validation_removal($(this));
    bind_validation(); 
});
请帮助我哪里做错了

提前谢谢


这里是fiddle

我认为问题是,只有当add-on部分中的字段有值时,才应该验证add-on字段。因此,我更新了
bind\u validation()
,添加了一个新函数
addRemoveCloneValidation()
,并删除了与问题无关的allot(尽管您可能仍然需要它)

添加新行时,将调用
bind\u validation
,然后调用
addRemoveCloneValidation
。然后,根据任何输入是否有值,添加或删除对所有克隆输入的验证

编辑

在你最后的评论之后

2) 当用户单击addmore按钮并单击next按钮时 验证结果应该显示您已丢失6个字段。请填写 因为用户没有填写任何必填项,所以在提交之前 克隆div中的字段

然后,您还需要将“学位日期”从必填项中删除,或者在克隆时不设置“学位日期”

$clone.find("input.deg_date")
  .removeClass('hasDatepicker')
  .removeData('datepicker')
  .unbind()
  .datepicker({
   dateFormat: "mm-dd-yy",
   changeMonth: true,
   yearRange: "-100:+0",
   changeYear: true,
   maxDate: new Date(),
   showButtonPanel: false,
});//.val(fulldate);       <--remove
$clone.find(“输入度日期”)
.removeClass('hasDatepicker')
.removeData(“日期选择器”)
.unbind()
.日期选择器({
日期格式:“年月日”,
变化月:对,
年份范围:“-100:+0”,
变化年:是的,
maxDate:新日期(),
showButtonPanel:false,

});//.val(完整日期);有什么问题吗?我已经试过你的提琴了,正确的字段数是按要求显示的?我不确定你在问什么。在小提琴中,如果我没有输入任何内容并单击“下一步”,它会显示我缺少6个字段,这看起来是正确的。如果我单击“添加更多”,一些新字段将被添加,单击“下一步”将数字更新为9(看起来仍然正确).Hi all最初,当用户单击“下一步”按钮时,它将正常工作,但一旦用户单击“克隆”按钮,再次单击“下一步”按钮,则应在中显示要验证的4个字段,但如果用户填写克隆div中的任意一个必填字段并单击下一个字段,则问题出现在第二个场景中验证克隆div和原始div,它应该说您有7个字段来验证这一点working@Mahadevan-为我工作很好。你到底在问什么?简明扼要。这是一篇交叉文章吗?谢谢你的努力,但仍然不符合我的问题。请看有三种情况1)最初,当用户单击“下一步”按钮时,错误消息应显示您已错过6个字段。请在提交前填写2)当用户单击“添加更多”按钮并单击“下一步”按钮进行验证时,应显示您已错过6个字段。请在提交前填写,因为用户尚未填写克隆div中的任何必填字段3)如果用户开始填写克隆中的任何必填字段,请单击“下一步”,它应显示您已错过10个字段。这就是它的工作原理。。当您克隆教育信息时,它会在日期字段中设置一个值,这是必需的,因此该部分是必需的。尝试删除日期,该部分的验证将消失。您几乎就要完成了。您可以告诉我,在测试分数字段中,它只能接受数字如何执行此操作当用户单击“添加较少”按钮时,验证未检测到分数输入type=“number”:(
    function bind_validation(){
        $(".required_field ").each(function(){
            $(this).rules("add", { 
                required:true,
            });
        });
        addRemoveCloneValidation();
    }

    function addRemoveCloneValidation(){
    $('div[id^="added"]').each(function(index, item){
       var needsValidation = false;
        $.each($(item).find('.required_field'), function(index, item){                      
            if($(item).val()) 
                needsValidation = true; 
            $(item).change(addRemoveCloneValidation);
        });
        $.each($(item).find('.required_field'), function(index, item){ 
            $(item).rules("add", { 
                required:needsValidation,
            });
            if(!needsValidation)
               $(item).removeClass('errRed'); 
        });
    });   
}
$clone.find("input.deg_date")
  .removeClass('hasDatepicker')
  .removeData('datepicker')
  .unbind()
  .datepicker({
   dateFormat: "mm-dd-yy",
   changeMonth: true,
   yearRange: "-100:+0",
   changeYear: true,
   maxDate: new Date(),
   showButtonPanel: false,
});//.val(fulldate);       <--remove