Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

(SOLVED) Hitung value append

Siang master,
Saya ada form input kaya di gambar

di income additional ada input tunjangan. Ada 3 field di situ
Tunjangan | Jumlah | Hidden Form
Untuk Hidden form, saya pake function keyup clone dari inputan Jumlah.

Yang saya tanyakan.
Saya mau Total Income additional keisi otomatis dari hasil penjumlahan Hidden Form (Append) setelah saya click button Calculate.

Ini script yang saya buat sekarang.
<?php
<form name="autoSumForm" action="<?php echo base_url();?>payroll" role="form" method="post" >
<label>Total Income additional</label>
<input type="text" name="tot_income_add" id="tot_income_add" readonly>
 
<b>Income additional</b>
<a title="Calculate Income additional">Calculate</a>
 
<table id="income_additional-table">
<thead>
<tr>
<th>Tunjangan</th>
<th>Jumlah (Rp.)</th>
<th>Hidden Form</th>
</tr>
<thead>
<tbody>
<tr>
<td>
<select name="data2[0][id_tunjangan]" class="form-control" >
<option value="">-- Select Tunjangan --</option>
<?php foreach($select_tunjangan as $pr){?>
<option value="<?php echo $pr->id;?>"><?php echo $pr->nama;?></option>
<?php } ?>
</select>
</td>
<td><input name="data2[0][angka]" id="angka0" class="form-control angkaincome2"></td>
<td><input name="data2[0][angka2]" id="angka20" class="form-control angkaincome3"></td>
</tr>
</tbody>
</table>
</form>
 
<script>
function del_income_additional(id){
 
$("#income_additional-table tbody #pic_income_additional"+id).remove();
}
$j=1;
 
function add_income_additional(){
var $income_additional =
'<tr id="pic_income_additional'+$j+'">'+
'<td>'+
'<select name="data2['+$j+'][id_tunjangan]">'+
'<option value="">-- Select Tunjangan --</option>'+
<?php foreach($select_tunjangan as $pr){?>
'<option value="<?php echo $pr->id;?>"><?php echo $pr->nama;?></option>'+
<?php } ?>
'</select>'+
'</td>'+
'<td><input name="data2['+$j+'][angka]" class="form-control angkaincome2" id="angka'+$j+'"></td>'+
'<td><input name="data2['+$j+'][angka2]" class="form-control angkaincome3" id="angka2'+$j+'"></td>'+
'<td><a href="javascript:;" title="Remove" onclick="del_income_additional('+$j+');"></a>'+
'</tr>';
$("#income_additional-table tbody").append($income_additional);
 
$(document).ready(function(){
$('.angkaincome2').maskMoney({thousands:',', decimal:'.', precision:2});
$('.angkaincome2').keyup(function() {
var clone = $(this).val();
var cloned = clone.replace(/[A-Za-z$-,]/g, "")
$(this).closest("tr").find('.angkaincome3').val(cloned);
});
});
++$j;
}
?>

Mohon bantuannya master.

Tanggapan

  • edited April 7
    1 nama class(html attribut) bisa digunakan banyak element.

    di script, inputan yang dihitung nama class nya => "angkaincome3"

    maka :
    ..
    a title="Calculate Income additional" id="calculatee">Calculate</a>
    .....
    $(document).ready(function(){
    $("#calculatee").on("click",function(){
    var total = 0;
    $(document).find(".angkaincome3").each(function() {
    total += $(this).val();
    });
    $("#tot_income_add").val(total);
    });
     
    });


    note : klo hitungannya salah, biasanya karna format angka..
  • edited April 7
    Ia bisa mas, cuman agak ngaco penjumlahannya karena saya pake format decimal.
    contoh 1000.00
    Saya mau tanya buat rubah format clone saya pake
    clone.replace(/[A-Za-z$-,]/g, "").
    cara hapus .00 dari angka 1000.00 gimana ya mas ? :#

    UPDATE :
    Saya uda dapet cara hilangin decimal.
    Saya input
    field1 900
    field2 500

    hasil di tot_income_add = 0900500.
  • nah.. itu.. javascript susah ngitung duit..
    saya biasa pake fungsi :
    function numberFormat (number, decimals, decPoint, thousandsSep) {
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '')
    var n = !isFinite(+number) ? 0 : +number
    var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
    var sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep
    var dec = (typeof decPoint === 'undefined') ? '.' : decPoint
    var s = ''
     
    var toFixedFix = function (n, prec) {
    var k = Math.pow(10, prec)
    return '' + (Math.round(n * k) / k)
    .toFixed(prec)
    }
     
    // @todo: for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
    if (s[0].length > 3) {
    s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep)
    }
    if ((s[1] || '').length < prec) {
    s[1] = s[1] || ''
    s[1] += new Array(prec - s[1].length + 1).join('0')
    }
     
    return s.join(dec);
    }
  • uda fix mas, saya nambahin new Number.
    Makasih bantuannya mas. o:)
Sign In or Register to comment.