Roland Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Γεια σας βρήκα ένα πολύ χρήσιμο jquery plugin δείτε το εδώ: http://searchandfind.gr/test/jquery_calculation3.htm που απλά προσθέτει αριθμούς στα τρία πεδία. Προσπάθησα να καταλάβω τον κώδικα και να κάνω άλλου είδους υπολογισμό , αλλά δεν τα κατάφερα. Αυτό που προσπαθώ να κάνω είναι. Έσοδα1 + Έσοδα2 - Έξοδα = Υπόλοιπο Μπορεί κάποιος να με βοηθήσει, πως μπορώ να αλλάξω το υπάρχον script. Ευχαριστώ
Roland Δημοσ. 19 Οκτωβρίου 2010 Μέλος Δημοσ. 19 Οκτωβρίου 2010 Γεια σας βρήκα ένα πολύ χρήσιμο jquery plugin δείτε το εδώ: http://searchandfind.gr/test/jquery_calculation3.htm που απλά προσθέτει αριθμούς στα τρία πεδία. Προσπάθησα να καταλάβω τον κώδικα και να κάνω άλλου είδους υπολογισμό , αλλά δεν τα κατάφερα. Αυτό που προσπαθώ να κάνω είναι. Έσοδα1 + Έσοδα2 - Έξοδα = Υπόλοιπο Μπορεί κάποιος να με βοηθήσει, πως μπορώ να αλλάξω το υπάρχον script. Ευχαριστώ
snk7 Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt" μεσα στο script υπαρχει function που κανει + ολα τα "txt" πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση
snk7 Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt" μεσα στο script υπαρχει function που κανει + ολα τα "txt" πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση
macabre_sunsets Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15).
macabre_sunsets Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15).
snk7 Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15). δεν γινεται... θα πρεπει να μετονομασει το textfield της αρνητικης τιμης.
snk7 Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15). δεν γινεται... θα πρεπει να μετονομασει το textfield της αρνητικης τιμης.
Roland Δημοσ. 19 Οκτωβρίου 2010 Μέλος Δημοσ. 19 Οκτωβρίου 2010 Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt" μεσα στο script υπαρχει function που κανει + ολα τα "txt" πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση Ναι σωστά snk7 , το έχω παρατηρίσει αυτό . Θα αλλάξω το όνομα των text field αλλα θα χρειαστώ βοήθεια για να το κάνω να δουλέψει. http://searchandfind.gr/test/jquery_calculation4.htm ---------- Προσθήκη στις 10:39 ---------- Προηγούμενο μήνυμα στις 10:30 ---------- Με απλή javascript το κάνω κάπως έτσι: var esoda = document.text1.value + document.text2.value; var exoda = document.text3.value; document.ypoloipo.value = esoda - exoda '€'; Αλλα με το jquery έχει δικό του τρόπο γραφής, κι εκεί το χάνω. ---------- Προσθήκη στις 11:13 ---------- Προηγούμενο μήνυμα στις 10:39 ---------- Άλλαξα τη function calculateSum ώστε να αναθέτει το κάθε πεδίο σε μια μεταβλητή και στη συνέχεια κάνω τις πράξεις. Κάτι λάθος κανω στη σύνταξη. <script> $(document).ready(function(){ $(this).keyup(function(){ calculateSum(); }); }); function calculateSum() { var esoda1 = $(".text1"); var esoda2 = $(".text2"); var exoda = $(".text3"); var sum = 0; var sum = esoda1 + esoda2 - exoda ; $("#sum").html(sum.toFixed(2)); } </script>
Roland Δημοσ. 19 Οκτωβρίου 2010 Μέλος Δημοσ. 19 Οκτωβρίου 2010 Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt" μεσα στο script υπαρχει function που κανει + ολα τα "txt" πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση Ναι σωστά snk7 , το έχω παρατηρίσει αυτό . Θα αλλάξω το όνομα των text field αλλα θα χρειαστώ βοήθεια για να το κάνω να δουλέψει. http://searchandfind.gr/test/jquery_calculation4.htm ---------- Προσθήκη στις 10:39 ---------- Προηγούμενο μήνυμα στις 10:30 ---------- Με απλή javascript το κάνω κάπως έτσι: var esoda = document.text1.value + document.text2.value; var exoda = document.text3.value; document.ypoloipo.value = esoda - exoda '€'; Αλλα με το jquery έχει δικό του τρόπο γραφής, κι εκεί το χάνω. ---------- Προσθήκη στις 11:13 ---------- Προηγούμενο μήνυμα στις 10:39 ---------- Άλλαξα τη function calculateSum ώστε να αναθέτει το κάθε πεδίο σε μια μεταβλητή και στη συνέχεια κάνω τις πράξεις. Κάτι λάθος κανω στη σύνταξη. <script> $(document).ready(function(){ $(this).keyup(function(){ calculateSum(); }); }); function calculateSum() { var esoda1 = $(".text1"); var esoda2 = $(".text2"); var exoda = $(".text3"); var sum = 0; var sum = esoda1 + esoda2 - exoda ; $("#sum").html(sum.toFixed(2)); } </script>
macabre_sunsets Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 > var esoda1 = $("[b].text1[/b]"); var esoda2 = $("[b].text2[/b]"); var exoda = $("[b].text3[/b]"); ><tr> <td>Έσοδα1</td> <td><input class="txt1" type="text" name="txt1"/></td> </tr> <tr> <td>Έσοδα2</td> <td><input class="txt2" type="text" name="txt2"/></td> </tr> <tr> <td>Έξοδα</td> <td><input class="txt3" type="text" name="txt3"/></td> </tr> Στον κώδικα έχεις ονομάσει τα πεδία "txt" ενώ στην javascript "text". ---------- Προσθήκη στις 14:57 ---------- Προηγούμενο μήνυμα στις 14:26 ---------- ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.4.2.js"></script> </head> <body> <table width="300px" border="1" style="border-collapse:collapse;background-color:#E8DCFF"> <tr> <td>.....1</td> <td><input class="txt1" type="text" name="txt1"/></td> </tr> <tr> <td>.....2</td> <td><input class="txt2" type="text" name="txt2"/></td> </tr> <tr> <td>.....</td> <td><input class="txt3" type="text" name="txt3"/></td> </tr> <tr id="summation"> <td align="right">........ :</td> <td align="center"><span id="sum">0</span></td> </tr> </table> <script> $(document).ready(function(){ var $total = 0; $(".txt1").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); $(".txt2").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); $(".txt3").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); function CalculateSum() { text1 = $(".txt1").val(); text2 = $(".txt2").val(); text3 = $(".txt3").val(); if (isNaN(parseFloat(text1))) { text1 = 0; } if (isNaN(parseFloat(text2))) { text2 = 0; } if (isNaN(parseFloat(text3))) { text3 = 0; } var sum = parseFloat(text1) + parseFloat(text2) - parseFloat(text3); $("#sum").html(sum.toFixed(2)); } }); </script> </body> </html> demo
macabre_sunsets Δημοσ. 19 Οκτωβρίου 2010 Δημοσ. 19 Οκτωβρίου 2010 > var esoda1 = $("[b].text1[/b]"); var esoda2 = $("[b].text2[/b]"); var exoda = $("[b].text3[/b]"); ><tr> <td>Έσοδα1</td> <td><input class="txt1" type="text" name="txt1"/></td> </tr> <tr> <td>Έσοδα2</td> <td><input class="txt2" type="text" name="txt2"/></td> </tr> <tr> <td>Έξοδα</td> <td><input class="txt3" type="text" name="txt3"/></td> </tr> Στον κώδικα έχεις ονομάσει τα πεδία "txt" ενώ στην javascript "text". ---------- Προσθήκη στις 14:57 ---------- Προηγούμενο μήνυμα στις 14:26 ---------- ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.4.2.js"></script> </head> <body> <table width="300px" border="1" style="border-collapse:collapse;background-color:#E8DCFF"> <tr> <td>.....1</td> <td><input class="txt1" type="text" name="txt1"/></td> </tr> <tr> <td>.....2</td> <td><input class="txt2" type="text" name="txt2"/></td> </tr> <tr> <td>.....</td> <td><input class="txt3" type="text" name="txt3"/></td> </tr> <tr id="summation"> <td align="right">........ :</td> <td align="center"><span id="sum">0</span></td> </tr> </table> <script> $(document).ready(function(){ var $total = 0; $(".txt1").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); $(".txt2").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); $(".txt3").keyup(function(){ if(!isNaN(this.value) && this.value.length!=0) { CalculateSum(); } }); function CalculateSum() { text1 = $(".txt1").val(); text2 = $(".txt2").val(); text3 = $(".txt3").val(); if (isNaN(parseFloat(text1))) { text1 = 0; } if (isNaN(parseFloat(text2))) { text2 = 0; } if (isNaN(parseFloat(text3))) { text3 = 0; } var sum = parseFloat(text1) + parseFloat(text2) - parseFloat(text3); $("#sum").html(sum.toFixed(2)); } }); </script> </body> </html> demo
Roland Δημοσ. 19 Οκτωβρίου 2010 Μέλος Δημοσ. 19 Οκτωβρίου 2010 ok το έκανα http://searchandfind.gr/test/jquery_calculation6.htm ---------- Προσθήκη στις 12:35 ---------- Προηγούμενο μήνυμα στις 12:06 ---------- @macabre_sunsets ευχαριστώ για τον κόπο σου. Παράλληλα προσπαθούσα κι εγώ και το έκανα να λειτουργεί. Το δικό σου βέβαια είναι πιό ολοκληρωμένο καθώς κάνει έλεγχο αν είναι άδειο το πεδίο. Θα προσπαθήσω να το ενσωματόσω κι εγώ, αν δε μπορέσω θα κάνω χρήση της δικής σου προτασης. Νά σαι καλα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.