2016-08-19 2 views
0

У меня есть динамическая таблица. Это от 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();  
}); 

Вы можете видеть из моих таблиц, первая таблица и вторая таблица имеют различные значения.

Я пытаюсь установить calculate значения из каждой таблицы с помощью js, а затем поставить результат в .jmljam и ronya за каждой таблицей. Но, с моим сценарием выше .jmljam и .ronya является результатом обоих значений таблиц. Я не хочу его разделить, можете ли вы показать мне, как это сделать?

Моего Fiddle https://jsfiddle.net/s9wfh9ye/8/

+1

Очень сложно понять проблему здесь. – miguelmpn

+0

@miguelmpn мой английский плохой. Я стараюсь объяснить это. soory – YVS1102

ответ

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); 
      } 
     }); 
    }); 
    } 
+0

не работает. посмотрите, есть ли у меня несколько данных. https://jsfiddle.net/s9wfh9ye/26/ – YVS1102

+0

Я только что протестировал и код работает как ожидалось, однако: Вы используете объект даты для хранения времени. 4 * 7 = 28 -у вас есть 24 часа в сутки, так что осталось 4. – krisph

+0

Работает ли он сейчас? – krisph

Смежные вопросы