İnputa otomatik yazılan iki değeri çarpmak
Merhaba,
Kullanıcı checkbox elemanlarında seçim yaptığında Saat ve ücret olarak 2 input'a veriler otomatik yazdırılıyor,
Şu şekilde çalışmaktadır, Yaklaşık 15 adet checkbox elemanı mevcuttur.
// A Checkbox Elemanı Seçildi
$(document).ready(function() {
$('.mucret').change(function() {
if ($('.mucret input').is(':checked')) {
$('#kurs-saat').attr('value', '14');
$('#ders-ucret').attr('value', '72');
} else {
$('#kurs-saat').attr('value', '');
$('#ders-ucret').attr('value', '');
}
});
Değerler bu input elemamanlarına yazılıyor ve biz bunları form işlemi tamamlandığında pdf formuna yazdırıyoruz.
<label> Kurs Saati: [text* kurs-saati id:kurs-saat "1" ] </label>
<label> Ders Ücreti: [text* ders-ucreti id:ders-ucret "1" ] </label>
<label> Saat x Ücret: [text* saat-ucret id:saatxucret "1" ] </label>
Ancak biz Kurs Saati: ve Ders Ücreti: inputuna yazılan değeri çarparak Saat x Ücret: yazdırmak istiyoruz. Bu şekile bir kodumuz var ancak
iş yapmıyor. Kurs Saati: inputuna değer yazıldığında bunu çarparak saatxucret inputuna bunu yazdırmayı nasıl başarabiliriz.
Üzerinde çalıştığımız kod;
var kurs-saat = document.getElementById("kurs-saat");
var lastkurs-saatValue = kurs-saat.value;
setInterval(function() {
var newValue = kurs-saat.value;
if (lastkurs-saatValue != newValue) {
lastkurs-saatValue = newValue;
handleValueChange();
}
}, 50); // 20 times/second
function handleValueChange() {
$('#saatxucret').val($('#kurs-saat').val() * $('#ders-ucret').val());
}
// Trigger a change
setTimeout(function() {
kurs-saat.value = "new value";
}, 800);
eğer label
içerisine yazı yazdırmak istiyorsan .val()
ile değiştiremezsin.
.text()
veya .html()
ile yapmayı dene.Düz yazı yazdıracaksan .text()
yazı içerisinde html
elementleri kullanacaksan .html()
ile yazdırmalısın.
$('#saatxucret').text($('#kurs-saat').val() * $('#ders-ucret').val());