2013-04-29 10 views
8

Sto tentando di aggiungere due valori di caselle di avviso ma continuo a ricevere una casella di avviso vuota. Non so perché.jQuery aggiunta di 2 numeri dai campi di input

$(document).ready(function(){ 
    var a = $("#a").val(); 
    var b = $("#b").val(); 
    $("submit").on("click", function(){ 
     var sum = a + b; 
     alert(sum);   
    }) 
}) 

risposta

25

Aggiunta di stringhe li concatena:

> "1" + "1" 
"11" 

Bisogna li analizzare in numeri primi:

var a = parseInt($('#a').val(), 10); 
var b = parseInt($('#b').val(), 10); 

Inoltre, è necessario per ottenere i valori dall'interno del gestore click:

$("submit").on("click", function() { 
    var a = parseInt($('#a').val(), 10); 
    var b = parseInt($('#b').val(), 10); 

Altrimenti, stai utilizzando i valori delle caselle di testo da quando la pagina viene caricata.

+0

primo u dovrebbe aggiungere ur libreria per jQuery, in modo da u bisogno di scaricarlo. e quindi aggiungi questa riga nel primo .......

-2

Ok così il tuo codice funziona davvero, ma quello che devi fare è sostituire aeb nella tua funzione di clic con la notazione jquery che hai usato prima del clic. Questo ti garantirà i valori corretti e più aggiornati. in modo da cambiare la funzione clicca per questo dovrebbe funzionare:

$("submit").on("click", function(){ 
    var sum = $("#a").val().match(/\d+/) + $("#b").val().match(/\d+/); 
    alert(sum);   
}) 

o inline a:

$("submit").on("click", function(){ 
    alert($("#a").val().match(/\d+/) + $("#b").val().match(/\d+/));   
}) 
-2

Questo codice funziona, si può confrontarla con la vostra?

<!DOCTYPE html> 
<html lang="en-US"> 
<head> 
    <title>HTML Tutorial</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <meta charset="windows-1252"> 
<script> 

$(document).ready(function(){ 
    var a = $("#a").val(); 
    var b = $("#b").val(); 
    $("#submit").on("click", function(){ 
     var sum = a + b; 
     alert(sum);   
    }) 
}) 
</script> 
</head> 
<body> 
    <input type="text" id="a" name="option"> 
    <input type="text" id="b" name="task"> 
<input id="submit" type="button" value="press me"> 

</body> 

</html> 
3
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnadd').on('click', function() { 
      var n1 = parseInt($('#txtn1').val()); 
      var n2 = parseInt($('#txtn2').val()); 
      var r = n1 + n2; 
      alert("sum of 2 No= " + r); 
      return false; 
     }); 
     $('#btnclear').on('click', function() { 
      $('#txtn1').val(''); 
      $('#txtn2').val(''); 
      $('#txtn1').focus(); 
      return false; 
     }); 
    }); 
</script> 
2

Ci sono due modi che è possibile aggiungere due numero in jQuery

Primo modo:

var x = parseInt(a) + parseInt(b); 
alert(x); 

Secondo Modo:

var x = parseInt(a+2); 
alert(x); 

Ora venire alla tua domanda

var a = parseInt($("#a").val()); 
var b = parseInt($("#b").val()); 
alert(a+b); 
0

Usa questo codice per l'aggiunta di due numeri utilizzando jQuery

<!DOCTYPE html> 
    <html lang="en-US"> 
    <head> 
     <title>HTML Tutorial</title> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <meta charset="windows-1252"> 
    <script> 

    $(document).ready(function(){ 
     $("#submit").on("click", function(){ 
     var a = parseInt($('#a').val()); 
     var b = parseInt($('#b').val()); 
      var sum = a + b; 
      alert(sum); 
     }) 
    }) 
    </script> 
    </head> 
    <body> 
     <input type="text" id="a" name="option"> 
     <input type="text" id="b" name="task"> 
    <input id="submit" type="button" value="press me"> 

    </body> 

    </html> 
Problemi correlati