Προς το περιεχόμενο

jquery calculator


Roland

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας βρήκα ένα πολύ χρήσιμο jquery plugin

δείτε το εδώ: http://searchandfind.gr/test/jquery_calculation3.htm

που απλά προσθέτει αριθμούς στα τρία πεδία.

 

Προσπάθησα να καταλάβω τον κώδικα και να κάνω άλλου είδους υπολογισμό , αλλά δεν τα κατάφερα.

Αυτό που προσπαθώ να κάνω είναι.

Έσοδα1 + Έσοδα2 - Έξοδα = Υπόλοιπο

 

Μπορεί κάποιος να με βοηθήσει, πως μπορώ να αλλάξω το υπάρχον script.

 

Ευχαριστώ

Δημοσ.

Γεια σας βρήκα ένα πολύ χρήσιμο jquery plugin

δείτε το εδώ: http://searchandfind.gr/test/jquery_calculation3.htm

που απλά προσθέτει αριθμούς στα τρία πεδία.

 

Προσπάθησα να καταλάβω τον κώδικα και να κάνω άλλου είδους υπολογισμό , αλλά δεν τα κατάφερα.

Αυτό που προσπαθώ να κάνω είναι.

Έσοδα1 + Έσοδα2 - Έξοδα = Υπόλοιπο

 

Μπορεί κάποιος να με βοηθήσει, πως μπορώ να αλλάξω το υπάρχον script.

 

Ευχαριστώ

Δημοσ.

Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt"

 

μεσα στο script υπαρχει function που κανει + ολα τα "txt"

 

πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση

Δημοσ.

Το προβλημα ειναι οτι ολα τα text field σου εχουν το ιδιο ονομα "txt"

 

μεσα στο script υπαρχει function που κανει + ολα τα "txt"

 

πρεπει στα εξοδα να το ονομασεις txt2 και οπως κανει το "txt" προσθεση στο "sum" να φτιαξεις ενα function που να κανει αφαιρεση

Δημοσ.
Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15).

 

δεν γινεται... θα πρεπει να μετονομασει το textfield της αρνητικης τιμης.

Δημοσ.
Ή να δώσεις αρνητική τιμή στο τελευταίο κελί (πχ/ 10 + 10 + (-5) = 15).

 

δεν γινεται... θα πρεπει να μετονομασει το textfield της αρνητικης τιμης.

Δημοσ.
Το προβλημα ειναι οτι ολα τα 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>

Δημοσ.
Το προβλημα ειναι οτι ολα τα 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>

Δημοσ.

>		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

Δημοσ.

>		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

Δημοσ.

ok το έκανα

 

http://searchandfind.gr/test/jquery_calculation6.htm

 

---------- Προσθήκη στις 12:35 ---------- Προηγούμενο μήνυμα στις 12:06 ----------

 

@macabre_sunsets ευχαριστώ για τον κόπο σου. Παράλληλα προσπαθούσα κι εγώ και το έκανα να λειτουργεί. Το δικό σου βέβαια είναι πιό ολοκληρωμένο καθώς κάνει έλεγχο αν είναι άδειο το πεδίο. Θα προσπαθήσω να το ενσωματόσω κι εγώ, αν δε μπορέσω θα κάνω χρήση της δικής σου προτασης.

 

Νά σαι καλα.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...