Örneğin;
HTML kodlarının şu şekilde olduğunu varsayalım.
<table>
<tr class="sepetitem">
<td class="stok">Stok Kodu : <input type="text" /></td>
<td class="name">Ürün : <input type="text" /></td>
<td class="birim">Adet : <input type="text" /></td>
<td class="fiyat">Tutar : <input type="text" /></td>
</tr>
<tr class="sepetitem">
<td class="stok">Stok Kodu : <input type="text" /></td>
<td class="name">Ürün : <input type="text" /></td>
<td class="birim">Adet : <input type="text" /></td>
<td class="fiyat">Tutar : <input type="text" /></td>
</tr>
<tr class="sepetitem">
<td class="stok">Stok Kodu : <input type="text" /></td>
<td class="name">Ürün : <input type="text" /></td>
<td class="birim">Adet : <input type="text" /></td>
<td class="fiyat">Tutar : <input type="text" /></td>
</tr>
</table>
<div id="total"></div>
Bunlarda jQuery altında çalışacak Javascript kodlarımız;
<script type="text/javascript">
$(document).ready(function() {
function geneltoplam() {
var adet = 0;
var tutar = 0;
$('tr.sepetitem').each(function() {
adet += parseInt($(this).find('td.birim input[type="text"]').val());
tutar += parseInt($(this).find('td.fiyat input[type="text"]').val());
});
$('div#total').html('Adet : '+adet+' <br />Tutar : '+tutar+'');
}
$('td.stok input').blur(function() {
var element = $(this);
if (element.val()) {
$.get("urun_sorgula.php", { id : element.val() }, function(response) {
switch (response.status) {
case 'error':
break;
case 'success':
element.parent().parent().find('td.name input[type="text"]').val(response.urunismi);
element.parent().parent().find('td.birim input[type="text"]').val('0');
element.parent().parent().find('td.fiyat input[type="text"]').val('0');
break;
}
}, "json");
}
});
$('td.birim input').keypress(function() {
var element = $(this);
var stokkodu = $(this).parent().find('td.stok input[type="text"]').val();
if (element.val()) {
$.get("birim_fiyat.php", { urun : stokkodu , adet : element.val() }, function(response) {
switch (response.status) {
case 'error':
break;
case 'success':
element.parent().parent().find('td.fiyat input[type="text"]').val(response.tutar);
geneltoplam();
break;
}
}, "json");
}
});
});
</script>Basit bir şekilde yazdım. Kodlar sorunsuz bir şekilde çalışıyor, testimi de yaptım. Umarım ihtiyacın doğrultusunda geliştirmesini yapabilirsin.
Girilen stok numarasına göre php dosyasına get isteği gönderttim. Gelen JSON sonucuna göre ise işlem yaptırdım.
Örneğin stok sorgulama php dosyasının içi;
echo json_encode(Array(
"status" => "success",
"urunismi" => "Arçelik Klima",
));
Gelen stok koduna ait ürün bulamazsan status error dönderip kontrol edebilirsin.
Aynı şekilde girilen adete göre, adeti ve ürünün stok numarasını php dosyama get ile yolladım ve gelen fiyat ve stoğu yeniden inputlara yazdım. Fiyatları php dosyasından çektim yani. Sonrada geneli topla fonksiyonunu çalıştırdım. Umarım mantığı çözmüşsündür.
diğer php dosyası içeriği;
echo json_encode(array(
"status" => "success",
"tutar" => "150",
"adet" => "1",
));
Gelen stok koduna ait ürün bulamazsan status error dönderip kontrol edebilirsin.