Merhabalar arkadaşlar öncelikle herkeze kolay gelsin.
Javascript ve jquery hakkındaçok fazla bilgim olmadığı için sizlere bir sorum olucaktı.
https://jsfiddle.net/buraksuluk/ut3Lqxoj/4/
linkte bir hesaplama aracı bulunmaktadır.
genişilik ölçüsü girildikten sonra adet sayısını belirttiğiniz zaman benim istediğim şekilde hesaplama yapıyor(formülüm dahilinde)
Hesaplama şöyle çalışıyor girdiğim adet sayısı kadar div oluşuyor ve genişik ölçüsüne girilen değere yaptığım hesaplama sayesinde ölçüler girilen div içinde yazdırıyorum.Bu hesaplamada bir sorun yok şuanda.
yalnız ben herhangi bir dive tıkladığım index değerine bir input ile değiştirmek istiyorum.girdiğim değere görede diğer ölçülerin güncellenmesini istiyorum. acaba bunu hangi mantık üzerinde yapmalıyım
yardımcı olursanız memnun olurum
tekrardan herkeze kolay gelsin.
Jquery ile hesaplama işlemi
5
●396
- 29-05-2019, 16:57:52Kimlik doğrulama veya yönetimden onay bekliyor.
- 29-05-2019, 17:32:50zaten istediğinin çoğunu yapmışsın her kutu için span oluşturmak yerine input oluşturursun.
o inputlar için de click ile zaten yakalıyorsun, click yerine change olayını yakalarsın ve bu olayda yapmak istediğin hesaplamayı tekrar yaparsın.
tekrar hesaplama fonksiyonu oluştur bir tane fonksiyona paremetre olarak değişen input indexini gönder ona göre hesaplama fonksiyonunu yaz
ben olsam öyle yapardım. - 29-05-2019, 17:55:26Öncelikleönerilerin için teşekkürler. Ben onun span olarak kalmasını istiyorum açıkcası. Şöyle düşünüyorum. dblclick fonksiyonu ile bir popup veya alert içine input koyup onun içine girilmesi istiyorum . Fakat js bilgim iyi olmadığı için mesala inputun içine veri girilip hesapla dendikten sonra eski formülü iptal edip girilen değere göre formülü nasıl güncelleyecek açıkcası bilmiyorum hocammindwalker adlı üyeden alıntı: mesajı görüntüle
- 29-05-2019, 18:40:11göndermiş olduğun jsfiddle örneğinde genişlik 200 yükseklik 200 ve adet 5 seçtiğimde 30X30 kutular oluşturdu.buraksuluk adlı üyeden alıntı: mesajı görüntüle
sonra üzerine tıkladığımda yani click fonksiyonu ile yakalayıp index i mesaj olarak gösteriyorsun zaten,
click yerine dblclick olayını kullan. sonra o fonksiyonun içinde prompt ile değeri al sonra yeniden hesaplama fonksiyonuna gönder.
yeniden hesaplama fonksiyonunda da nasıl bir formül kullanacağını ben bilmiyorum ama hesaplama formülünden anladığım kadarıyla
yükseklik için 170 mm sabit bir değer var girilen değerden bunu çıkarıyorsun
genişlik için ise tahminimce soldan ve sağdan 15 mm ve aralarda da 5 mm olacak şekilde bir boşluk çıkarıp ona göre girilen genişlikten çıkarıp adete bölmüşsün.
değerleri değiştirdiğinde yapacağın hesaplamada bu biraz karışıklığa neden olacak gibi bence yükseklik değerini değiştirtmemelisin. sadece genişlik değerini alabilirsin. buradaaklıma birkaç opsiyon geliyor bunları sen bileceksin girilen değer diğer değerlerden genişlik olarak farklı olacak haliyle o kendi sırasında mı duracak yoksa başa mı alacaksın onlara karar ver ama hesaplama ile ilgili sana şöyle bir örnek yaptım.
function yenidenHesapla(index,deger){ var genislik= $("#genislik").val(); var yukseklik= $("#yukseklik").val(); $("#buraya #uyari").hide(); var adet= $("#adet").val(); var olcu = (adet-1)*5+30; var genel= genislik - olcu-deger; var cam= genel / adet-1; var camyuk=yukseklik -170; $("#buraya #detay").each(function(){ if($(this).index()==index) { $(this).html(deger + "X"+camyuk); } else { $(this).html(cam+"X"+camyuk); } }); } $("#buraya #detay").dblclick(function(){ var index =$(this).index(); var deger=prompt("genişlik giriniz"); yenidenHesapla(index,deger); //alert(index); }); - 29-05-2019, 19:53:21mindwalker adlı üyeden alıntı: mesajı görüntüle
hocam tekrar teşekkür ederim.
Belirttiğiniz Gibi formulü güncelledim fakat yapamadım. Normalde şöyle olması lazım
$("#buraya #detay").dblclick(function(){ var index =$(this).index(); var deger=prompt("genişlik giriniz"); yenidenHesapla(index,deger); //alert(index); }); function yenidenHesapla(index,deger){ var yukseklik= $("#yukseklik").val(); var genislik= $("#genislik").val(); var adet= $("#adet").val(); var olcu = (adet-1)*5+30; var olcukalan=olcu+deger var genel= genislik-olcukalan; var cam= genel/(adet-1); var camyuk=yukseklik-170; $("#buraya #detay").each(function(){ if($(this).index()==index) { $(this).html(deger + "X"+camyuk); } else { $(this).html(cam+"X"+camyuk); } }); }Şöyle olması lazım örneğin genişliği 3000 girdik toplam 6 adet yaptıgımız zaman sonuc 6 adet 491 çıkması lazım ve değer ölçüsü 300 verdiğimiz zaman formülü şu şekilde olması lazım
değer girilen 300 diğerleri 529 gibi çıkması lazım
(6adet-1)*5+30+deger
cıkan sonucu 5 bölüp değer dışında kalan adetlere yazmam lazım aslında formülü doğru yazdığımı düşünüyorum yukarıda fakat çalışmadı - 29-05-2019, 21:21:04var olcukalan=olcu+deger
bu satırda ; eksik syntax hatası var bence