Hi All,
I have gridview CheckboxColumn and have event calculate sum of one column (jquery). But when user click select-on-check-all column, it always give late result.
Checkall give sum 0 and uncheck all give right sum.
Why?
here are my code.
[
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' =>
function($model) {
return ['value' => $model->id, 'class' => 'checkbox-row', 'id' => 'checkbox'];
}
],
and my jquery
$('.select-on-check-all, .checkbox-row').click(function(){
calculateNettoReceive();
})
function calculateNettoReceive()
{
var total_netto_send = 0; var total_netto_receive = 0; var total_susut = 0;
var netto_send = 0; var netto_receive = 0; var susut = 0;
for(var i=0; i < $('#checkbox.checkbox-row').length; i++)
{
if($('#checkbox.checkbox-row')[i].checked == true) {
netto_send = document.getElementById('table-penerimaan-produksi').getElementsByTagName('tr')[i+1].getElementsByTagName('td')[6].innerHTML;
netto_receive = document.getElementById('table-penerimaan-produksi').getElementsByTagName('tr')[i+1].getElementsByTagName('td')[5].innerHTML;
susut = document.getElementById('table-penerimaan-produksi').getElementsByTagName('tr')[i+1].getElementsByTagName('td')[7].innerHTML;
netto_send = netto_send == "" ? 0 : Number(netto_send.split(",").join(""));
netto_receive = netto_receive == "" ? 0 : Number(netto_receive.split(",").join(""));
susut = susut == "" ? 0 : Number(susut.split(",").join(""));
total_netto_send += netto_send;
total_netto_receive += netto_receive;
total_susut += susut;
}
}
$('#realisasiproduksi-total_netto_send').val(total_netto_send);
$('#realisasiproduksi-total_netto_receive').val(total_netto_receive);
$('#realisasiproduksi-total_susut').val(total_susut);
}