2016-05-07 10 views
-2

スパンタグとテキストボックスから値をとり、それらを掛けますが、正しく動作しません。ブラウザを調べてから、スパンタグから値が得られます。 NaNを示す乗算値(totalprice)。毎回jqueryで乗算が機能しないNaN表示

$("#addintocart").click(function() { 
     debugger; 
     var productid = $("#product_id").text(); 
     var cartid = $("#userid").text(); 
     var quentity = $("#txt_quentity").val(); 
     var price = $("#p_price").text(); 
     var totalprice =(quentity * price); 
     $.ajax({ 
      url: '/Product/AddInCart', 
      type: 'GET', 
      data: { cartid: cartid, productid: productid, quentity: quentity, totalprice: totalprice }, 
      contentType: 'application/json; charset=utf-8', 
      success: function (response) { 
       //your success code 
       // also count total 
       alert("Success"); 
       // Successnotify(); 

       }); 
      }, 
      error: function() { 
       alert("some error"); 
      } 

     }); 
    }) 
+0

使用するvar合計= parseFloatは(のためのparseIntを検討するかもしれないことを19の数値(10進数)

注意ですオクタル数量)* parseFloat(価格);またはparseIntあなたの要件に応じて – Poria

答えて

0

あなたは$は.text()で文字列として価格を取っている

var totalprice =(Number(quentity) * Number(price)); 
0

を確認することができます。 javascriptの文字列に数値を掛けると、値NaNが得られます。 Number()関数で値をキャストしてみてください。

0

数字を解析します。

  1. var totalprice = parseInt(quentity) * parsefloat(price);
  2. またはvar totalprice = (~~quentity) * parseFloat(price);
0

あなたは、文字列を返すと数字に変換する必要があります。

数値入力が標準の場合は、parseFloatNumberの間に違いはありません。あなたの入力は数字で始まり、番号が返されますが、文字列から数値を切り捨てparseFloat他の文字が含まれている場合NaN(非数):

parseFloat('23x'); // => 23 
Number('23x'); // => NaN 

数も

(2300000です) 23e5のような表記法を理解

もうひとつは、両方に「023」を翻訳します、あなたが+を使用することができますし、それがNumber

var totalprice = (Number(quentity) * Number(price)); 

var totalprice = (+quentity) * (+price); 

ノートのように動作しますですあなたのquentity数量であれば、それはやや不明確であるのであれば、量は多くの場合、整数であり、したがって、あなたはその数

関連する問題