我有一个在手动设置值时可以正常工作的功能
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.
答案 0 :(得分:3)
在第二种情况下
this.monthlyBill = $('#monthl_bill').val();
它被认为是一个字符串。您需要将其解析为整数
基本上是这样的:
this.monthlyBill = parseInt($('#monthl_bill').val());
答案 1 :(得分:0)
发表评论和演示
300是一个数字 - xxx.val()是一个字符串 - 尝试parseInt($('#monthl_bill')。val(),10);
,如果有人输入前导0,则需要10个基数,因为它表示八进制