0

手動で値を設定すると完璧に機能する機能があります

function doSomeMath(array,number){
  some math here.....
}

毎月の請求書を手動で設定した場合にのみ機能します

function customer(){
 this.monthlyBill = 300;
}

私がこれを行うとき、それはうまくいきます:

var someArray = [.2,.3,.6];
var customerData = new customer();
doSomeMath(someArray,customerData.monthlyBill);

問題は、手動で設定したくないということです。フォームの入力要素から値を取得したいのです。

私がこれをするとき、それは台無しになります:

function customer(){
 this.monthlyBill = $('#monthly_bill').val(); 
}

#monthly_billフォームに移動して300と入力すると、まったく異なる値が得られます。

タイピングの違いは何ですか

this.monthlyBill = 300

this.monthlyBill = $('#monthl_bill').val();    // and then typing 300 into a form.
4

2 に答える 2

3

2番目のケースでは

this.monthlyBill = $('#monthl_bill').val(); 

文字列と見なされます。あなたはそれを整数に解析する必要があります

だから基本的に:

this.monthlyBill = parseInt($('#monthl_bill').val()); 
于 2012-04-17T11:26:49.330 に答える
0

コメントとデモを投稿する

300は数値です-xxx.val()は文字列です-parseInt($('#monthl_bill')。val()、10);を試してください。

、10基数は、8進数を表すため、誰かが先頭の0を入力する場合に必要です。

デモ

于 2012-04-17T11:32:05.560 に答える