首页 > 解决方案 > jQuery找到第一个.class,然后停止

问题描述

好吧,基本上,我正在寻找解决方案。

我有一个带有 2 个输入、1 个禁用输入的表格,用于在一行内显示结果和其他选择。我也有多个表。

from       | to         | sum       | select
-----------+------------+-----------+-----------
.timeinput | .timeinput | .timesum  | .abwsel
.timeinput | .timeinput | .timesum  | .abwsel
.timeinput | .timeinput | .timesum  | .abwsel

我正在计算两个输入的总和(有效),.timesum如果数字在 10.01-11.99 之间,我想用橙色着色,如果数字 >= 12,我想用红色着色。

着色本身起作用。但是我有一个问题,即只有.timesum每张桌子的第一张或所有桌子.timesums都是彩色的。

至于我拥有的 jQuery(我这里只有 >= 12,以简化和缩短代码。问题出在当前行$(this).next('.timeinputsum').addClass('HrsWarning12');

$('table').each(function(){
     var sum = 0;

     $(this).find('.timediff').each(function(){
         sum += Number(formatNumber($(this).val(), '.'));

          if(sum >= 10 && sum < 12){

          }
          if(sum >= 12){
               $(this).closest('tr').find('.timediff').addClass('HrsWarning12');
               // $(this).next('.timeinputsum').addClass('HrsWarning12');
          } 
          if(sum < 10) { 

          }
    });

     $(this).find('.timesum').val(formatNumber(sum, ','));
});

HTML

<table id="0815FirstNameLastNameTable">
     <tr>
          <td><input class="timeinput" id="0815FirstNameLastNameFrom"></td>
          <td><input class="timeinput" id="0815FirstNameLastNameTo"></td>
          <td><input class="timesum" id="0815FirstNameLastNameSum"></td>
          <td><select>...</select></td>
     </tr>
</table>

标签: jquery

解决方案


推荐阅读