计算每个表中的多个数字

时间:2016-08-19 11:17:36

标签: javascript jquery

我有动态表。来自php loop。以下是浏览器源代码的示例:

 <table class="table">
    <thead>
        <tr>
            <td> No </td>
            <td> Full Name </td>
            <td> Attendance Date </td>
            <td> In Time </td>
            <td> Out Time </td>
            <td> Waktu Lebih </td>
        </tr>
    </thead>
    <tbody>
        <tr>
    <td>1</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-01</td>
    <td class="jammasuk">
        07:00:00    </td>                                                                           
    <td class="jampulang">
    23:00:00    </td>
    <td class="lebih">08:00</td>

    </tr>
         <tr>
    <td>2</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-02</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>
         <tr>
    <td>3</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-03</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>

             <tr>

            <td colspan="4"> </td>
            <td>Total Jam Lebih</td>
            <td>
             <input name="jamlebih" type="text" readonly disabled class="jmljam" />
            </td>
        </tr>
         <tr>
            <td colspan="4"> </td>
            <td>Ro Yang DiDapatkan</td>
             <td>
             <input name="dapetro" type="text" readonly class="ronya" />
             </td>
        </tr>
            </tbody>
</table>

    <table class="table">
    <thead>
        <tr>
            <td> No </td>
            <td> Full Name </td>
            <td> Attendance Date </td>
            <td> In Time </td>
            <td> Out Time </td>
            <td> Waktu Lebih </td>
        </tr>
    </thead>
    <tbody>
        <tr>
    <td>4</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-04</td>
    <td class="jammasuk">
        07:00:00   </td>                                                                            
    <td class="jampulang">
    22:00:00   </td>
    <td class="lebih">07:00</td>

    </tr>
         <tr>
    <td>5</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-05</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>
         <tr>
    <td>6</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-06</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>
         <tr>
    <td>7</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-07</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>
         <tr>
    <td>8</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-08</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>
         <tr>
    <td>9</td>
    <td>[1105321] - AL SHIFAUL LATIFAH</td>
    <td>2016-09-09</td>
    <td class="jammasuk">
        -    </td>                                                                          
    <td class="jampulang">
    -    </td>
    <td class="lebih">00:00</td>

    </tr>

             <tr>

            <td colspan="4"> </td>
            <td>Total Jam Lebih</td>
            <td>
             <input name="jamlebih" type="text" readonly disabled class="jmljam" />
            </td>
        </tr>
         <tr>
            <td colspan="4"> </td>
            <td>Ro Yang DiDapatkan</td>
             <td>
             <input name="dapetro" type="text" readonly class="ronya" />
             </td>
        </tr>
            </tbody>
</table>

我有这个JavaScript

function getro(){
    var totaljamlebih   = moment($('.jmljam').val(),'HH:mm');
    var per_ro          = '08:00';
    var a = moment.duration(totaljamlebih, "HH:mm").asSeconds();
    var b = moment.duration(per_ro, "HH:mm").asSeconds();
    var rodapet = a / b;
    if(rodapet < 1) {
        $('.claim').hide()
    }
    $('.ronya').val(parseInt(rodapet)); 
}
function timemanage(){
    var total = moment().startOf('day');
    $('.lebih').each (function() {
        var value = $(this).text();
        var thisMoment = moment(value, 'HH:mm', true);
        if(thisMoment.isValid()){
          total.add(thisMoment);
          $(".jmljam").val(total.format("HH:mm")); 
      }
  });
}

$(document).ready(function(){
    timemanage();
    getro();    
});

您可以从我的表中看到,第一个表和第二个表具有不同的值。

我尝试使用我的js来calculate每个表中的值,而不是将结果放在每个表的.jmljamronya中。但是,我的脚本高于.jmljam.ronya是两个表值的结果。我不想分开它,你能告诉我怎么样吗?

我的小提琴https://jsfiddle.net/s9wfh9ye/8/

1 个答案:

答案 0 :(得分:1)

     function getro()
    {
  $("table").each(function() {
  $this = $(this);
        var totaljamlebih   = moment($this.find('.jmljam').val(),'HH:mm');
        var per_ro          = '08:00';
        var a = moment.duration(totaljamlebih, "HH:mm").asSeconds();
        var b = moment.duration(per_ro, "HH:mm").asSeconds();
        var rodapet = a / b;
        if(rodapet < 1)
            {$this.find('.claim').hide()}

        $this.find('.ronya').val(parseInt(rodapet)); 
    });
    }
function timemanage(){
$("table").each(function() {
  $this = $(this);
    var total = moment().startOf('day');
        $this.find('.lebih').each (function() {
            var value = $this.find(this).text();
      var thisMoment = moment(value, 'HH:mm', true);
            if(thisMoment.isValid()){
          total.add(thisMoment);
                    $this.find(".jmljam").val(total.format("HH:mm")); 
            }
        });
    });
    }

这应该起作用=]

使用此更新,它应计算没有天数的小时和分钟。 =]

function timemanage(){
var start = moment().startOf('day');
$("table").each(function() {
  $this = $(this);

    var total = moment().startOf('day');
        $this.find('.lebih').each (function() {
            var value = $this.find(this).text();
      var thisMoment = moment(value, 'HH:mm', true);
            if(thisMoment.isValid()){
          total.add(thisMoment);

                var diff = Math.abs(total - start);
              var dayss = Math.floor((diff/(1000 * 60 * 60 * 24)))* 24 ;
              var hourss = Math.floor((diff/(1000 * 60 * 60) % 24));
              var minss = Math.floor((diff/(1000 * 60) % 60));

                    $this.find(".jmljam").val((dayss+hourss)+":"+minss); 
            }
        });
    });
    }