0

我需要对有关 jQuery Validator 显示的错误的工具提示进行分组。所以我用 setInterval 编写了一个简单的循环来检查同一行中是否有多个具有错误类的输入。

   setInterval(function() {
      $('.xrror').remove();
      $('div.row-4:has([name].error)').each(function() {
         var tmp = $('[name].error', this);
         if(tmp.length > 1) {
            $('label.error', this).hide();

            tmp.last().parent().append(
               $(document.createElement('label')).addClass('error').addClass('xrror').append(
                  $(document.createElement('span')).text('Fields with errors were marked with red color')
               )
            );
         } else {
            $('[name].error', this).parent().find('label.error').show();
         }
      });
   }, 50);

在 Opera 中,它会导致打开的 Select 元素闪烁。

4

1 回答 1

2

与其每 50 毫秒使用一次 setInterval 函数(这会消耗大量资源),不如将函数绑定到诸如提交或更改之类的事件上。由于它似乎与表单验证有关,除非用户修改字段,否则您无需执行任何操作。

于 2013-09-30T14:37:59.123 回答