Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 使用form repeater在填充的表中追加新行需要花费大量时间(10-15秒)-jQuery_Javascript_Jquery_Performance_Jquery Plugins - Fatal编程技术网

Javascript 使用form repeater在填充的表中追加新行需要花费大量时间(10-15秒)-jQuery

Javascript 使用form repeater在填充的表中追加新行需要花费大量时间(10-15秒)-jQuery,javascript,jquery,performance,jquery-plugins,Javascript,Jquery,Performance,Jquery Plugins,我正在为表元素使用form repeater插件。填充表格后,当我单击加号按钮(添加新行)时,新行需要花费大量时间(大约10-15秒)才能追加。 我的桌子截图 每次单击(加号按钮)都会执行以下功能 CheckEmptyInputs() CheckDuplicateRanges():检查最小范围和最大范围中的重复范围 我尝试过的事情: 验证后,每次成功单击加号按钮时,将名为“completed”的类添加到所有行中。我这样做是因为当我再次单击加号按钮时,我告诉JS不要用类“completed

我正在为表元素使用form repeater插件。填充表格后,当我单击加号按钮(添加新行)时,新行需要花费大量时间(大约10-15秒)才能追加。

我的桌子截图

每次单击(加号按钮)都会执行以下功能

  • CheckEmptyInputs()
  • CheckDuplicateRanges():检查最小范围和最大范围中的重复范围
我尝试过的事情:

  • 验证后,每次成功单击加号按钮时,将名为“completed”的类添加到所有行中。我这样做是因为当我再次单击加号按钮时,我告诉JS不要用类“completed”检查行,以避免不必要的检查
  • 我删除了为tr修改的类“completed”ondomsubtreemoded。因此,该计划运行良好,JS不会每次都检查这些名为completed的类的行,除非删除该类
  • 我尝试检查哪个函数花费了很多时间,因此checkEmptyInputs()和CheckDuplicateRanges()执行得更快
注意-1:我使用的summernote是为最小-最大范围列定制的。 注意-2:我正在为dropdownlist列使用select2插件

因此,我认为时间滞后可能是由于以下原因

  • 初始化summernote并为这6列选择2个插件

  • 可能是表单转发器代码有问题我终于找到了问题的解决方案。我所做的只是像预期的那样从FormRepeater js代码中隐藏这些行。因为这些行重复地重新初始化$中的所有行。每次我单击加号按钮时,每个行都会重新初始化所有行

    我的解决方案:我对表单转发器隐藏了这四行,这将时间延迟从15-20秒大幅减少到1-2秒

                  show: function () {
                     $(this).slideDown();
                     //$('#tblRepeater>tbody>tr').not(':first').each(function () {
                         //var select = $(this).closest('tr').find(".drpUnits");
                         //$(this).closest('tr').find(".drpUnits").addClass('js-example-basic-double');
                         //$('.js-example-basic-double').select2();
                     //});
                    },