Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 字段(ID)的序列号未使用jquery clone生成corerct_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 字段(ID)的序列号未使用jquery clone生成corerct

Javascript 字段(ID)的序列号未使用jquery clone生成corerct,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当前正在处理jquery克隆,当我从父行单击addmore按钮时,id正在为该行生成序列顺序,但没有为内部字段生成序列顺序,例如1,2,3,4。。但是,当我为行id中的字段检查元素时,它不是按顺序生成的,而是随机出现的,例如txt\u Jbt字段的第三行,id应该是txt\u Jbt\u 3,但目前是txt\u Jbt\u 1 这是我用来克隆字段的代码 $(document).on("click", ".test_add_button", function() { v

当前正在处理jquery克隆,当我从父行单击
addmore
按钮时,id正在为该行生成序列顺序,但没有为内部字段生成序列顺序,例如1,2,3,4。。但是,当我为行id中的字段检查元素时,它不是按顺序生成的,而是随机出现的,例如txt\u Jbt字段的第三行,id应该是txt\u Jbt\u 3,但目前是txt\u Jbt\u 1

这是我用来克隆字段的代码

 $(document).on("click", ".test_add_button", function() {
             var $clone = $('.cloned-row2:eq(0)').clone();
            var num = $('.cloned-row2').length;
            $clone.find('[id]').each(function() {
              this.id += '_' + num;
              this.name += '_' + num;
              $clone.addClass("check");
              $(this).removeClass("errRed");    
              $(this).removeClass("required_Field");
            });
            $clone.find('.btn_more').after("<input type='button' class='btn_less1 selbtnless' id='buttonless'/>")
            $clone.attr('id', "select-row" + (count));
            $clone.find(".txt_txtDesc,.txt_scr,.txt_date,.ipt_acdem").val("");
            $clone.find(".txt_txtDesc,.txt_scr,.txt_date,.ipt_acdem").addClass("cloned_field");
            $clone.find("input.txt_date")
              .removeClass('hasDatepicker')
              .removeData('datepicker')
              .unbind()
              .datepicker({
                dateFormat: "mm/dd/yy",
                changeMonth: true,
                yearRange: "-100:+0",
                changeYear: true,
                maxDate: new Date(),
                showButtonPanel: false,
                beforeShow: function() {
                  setTimeout(function() {
                    $('.ui-datepicker').css('z-index', 99999999999999);

                  }, 0);
                }
              });
            $(this).parents('.sel_text').after($clone);
             $(".cloned-row2").each(function(i){
                    this.id = "select-row"+(i+1);
              });

            add_validation_for_forms();
            additionalvalidation();
          });
$(文档)。在(“单击“,”上。测试添加按钮),函数(){
var$clone=$('.clone-row2:eq(0')).clone();
var num=$('.cloned-row2').length;
$clone.find('[id]')。每个(函数(){
this.id+='\'+num;
this.name+='\'+num;
$clone.addClass(“支票”);
$(this.removeClass(“erred”);
$(此).removeClass(“必填_字段”);
});
$clone.find('.btn_more')。在(“”)之后
$clone.attr('id',“select row”+(count));
$clone.find(“.txt\u txtDesc、.txt\u scr、.txt\u date、.ipt\u acdem”).val(”;
$clone.find(“.txt\u txtDesc、.txt\u scr、.txt\u date、.ipt\u acdem”).addClass(“克隆的\u字段”);
$clone.find(“input.txt\u date”)
.removeClass('hasDatepicker')
.removeData(“日期选择器”)
.unbind()
.日期选择器({
日期格式:“mm/dd/yy”,
变化月:对,
年份范围:“-100:+0”,
变化年:是的,
maxDate:新日期(),
showButtonPanel:false,
beforeShow:function(){
setTimeout(函数(){
$('ui datepicker').css('z-index',9999999999);
}, 0);
}
});
$(this).parents('.sel_text')。在($clone)之后;
$(“.cloned-row2”)。每个(函数(i){
this.id=“选择行”+(i+1);
});
为_表单()添加_验证_;
附加验证();
});

以下是

克隆的想法几乎不需要改进,即1。在“添加更多”按钮之前追加新行。2.新行应仅包含“删除”按钮,而不包含“添加更多”按钮。3.若您不需要序列中的id,那个么只需使用一个变量“counter”,并在每次添加后将其设为counter++,而在删除元素时不做任何操作就可以了。否则,如果您需要顺序id,则必须针对每次删除重置/更新所有id。如果你的代码更简单,我可以为你实现它,但现在需要很长时间,因此,我只能建议:)@Sami感谢您的快速回复,但问题是我需要在所有克隆中设置addMore按钮。您能告诉我如何提前重置或更新吗?谢谢。最好编辑您的问题,并说明为什么您需要id严格按顺序排列(而不是使用自动增量方法),加上为什么你需要在每一行中“添加更多”,因为毫无理由,让事情变得复杂似乎是一个好主意。如果你告诉我你的局限性,那么是的,一切都有可能做到,我会为你实现它,但如果我们有更容易/更好的选择,坚持我们最初的方法总是不好的。因此,请添加两个requirementsHi@Sami的原因,实际上这是该项目的初始方法,他们希望相同,因此我必须这样做:(同意@Sami的观点,每次添加新行时添加额外的“addmore”按钮会误导用户,也会给您带来您提到的问题。克隆的想法几乎不需要改进,即1.在“add More”按钮之前添加新行。2.新行应只包含“Remove”按钮,而不包含“add More”如果您不需要序列中的id,那么只需使用变量“counter”就更容易了并在每次添加后使用计数器++,在删除元素时不做任何操作。否则,如果您需要id的顺序,则必须针对每次删除重置/更新所有id。如果您的代码更简单,我可以为您实现它,但现在需要很长时间,因此我只能建议:)@Sami感谢您的快速回复,但问题是我需要在所有克隆中都有addMore按钮。您能告诉我如何提前重置或更新吗?谢谢。最好编辑您的问题,并说明您需要id的原因(而不是使用自动递增方法),以及您需要“添加更多”的原因在每一行中,因为毫无理由地让事情变得复杂似乎是一个好主意。如果你告诉我你的局限性,那么是的,一切都可以照原样做,我会为你实现它,但如果我们有更简单/更好的选择,坚持我们最初的方法总是不好的。所以请为这两个要求添加理由sHi@Sami实际上,这是这个项目的初始方法,他们也希望如此,所以我必须这样做:(同意@Sami,每次添加新行时添加额外的“addmore”按钮对用户来说是一种误导,它也会给您带来您提到的问题。