为什么我的javascript函数只有在手动输入输入时才起作用?
我有当值手动设置为什么我的javascript函数只有在手动输入输入时才起作用?
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();
}
我去在300 #monthly_bill形式和类型,我得到一个完全不同的值。
是什么打字
this.monthlyBill = 300
和
this.monthlyBill = $('#monthl_bill').val(); // and then typing 300 into a form.
在第二种情况下
this.monthlyBill = $('#monthl_bill').val();
它被认为是一个字符串我之间的差异。你需要将它解析为一个整数
所以基本上:
this.monthlyBill = parseInt($('#monthl_bill').val());
啊,好的。非常感谢! – 2012-04-17 11:27:51
+1,但不要忘记'parseInt'的基数参数! – 2012-04-17 11:28:56
@JamesAllardice只有在不同于10时才需要 – 2012-04-17 11:30:40
发布我的评论和演示
300多家 - xxx.val()是一个字符串 - 尝试parseInt函数($ ( '#monthl_bill')VAL(),10)。
,是必要的情况下,10人进入基数0领先,因为这表示八进制
300是一个数字 - xxx.val()是一个字符串 - 尝试'parseInt函数($('#monthl_bill ').val(),10);' – mplungjan 2012-04-17 11:26:57