
jQuery ile uğraşıyorsak eğer hepimiz görmüşüzdürki inputtan aldığımız veriler ile işlem yaparken terslik olabiliyor. örneğin inputtan aldığımız iki sayıyı toplamak istediğimizde 5+5=10 olması gerekirken 5+5=55 şekline toplama operatörünü ters bir şekilde kullanıp birinci değeri ikinci değerin yanına kaynak yapıyor.
Bunun nedeni nedir diye sorarsanız herhangi bir veri tipi belirtmediğimiz için inputtan aldığımız verileri jQuery kütüphanesi string olarak kabul ediyor bizde strniglerle işlem yaptığımız için toplama işlemindede doğalen yanyana eklemesi gerekiyor.
şimdi sorunumuzun çözümüne gelelim çözümümüz şöyleki inputtan aldığımız verinin veri tipini değiştireceğiz artık kodlarımıza geçebiliriz
öncelikle veri tipini değiştirmek için jQuery in parseInt() fonksiyonunu kullanacağız.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Vehbi AKDOĞAN - jQuery parseInt</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
function hesapla(){
var s1 = $("#sayi1").val();
var s2 = $("#sayi2").val();
var hatali_toplam = s1+s2;
var gercek_toplam = parseInt(s1)+parseInt(s2);
$(".aaa").html("Hatalı toplam: "+hatali_toplam+"<br> Gerçek Toplam: "+gercek_toplam);
}
</script>
<style type="text/css">
body{
width:700px;
margin:0 auto;
background:#e2e2e2;
color:#583afe;
}
</style>
</head>
<body>
sayi1: <input type="text" name="sayi1" id="sayi1" /><br>
sayi2: <input type="text" name="sai2" id="sayi2" />
</br>
<button id="button" onClick="hesapla();"> Hesapla </button>
<div class="aaa" style="border:1px dashed #eee;"></div>
</table>
</body>
</html>
Hem hatlı toplama işlemi hemde normal bir toplama işlemini gösterdim. aldığınız değerler integer değillerse parseInt yerine parseFloat ta kullanabilirsiniz.
Hiç yorum yok:
Yorum Gönder