将检索到的值与javascript和jquery结合起来[重复]
Posted
技术标签:
【中文标题】将检索到的值与javascript和jquery结合起来[重复]【英文标题】:Combining retrieved values with javascript and jquery [duplicate] 【发布时间】:2012-11-03 10:47:33 【问题描述】:可能重复:How do I Convert a String into an Integer in javascript?
我有一个包含产品选项的选择元素。我想要实现的是当他们选择一个选项时,页面上的价格会自动调整。我已经想出了如何检索这些值,但是当我将它们组合起来时,它只是将两个数字放在一起,而不是实际相加。
例如,当我有 50 + 10 时,它不会输出 60,而是输出 5010。
我的代码:
$('.product_options').change(function()
var base_price = $('#base_price').html();
var add_price = $(this).find("option:selected").data('price');
var new_price = base_price+add_price;
console.log(new_price);
$('.current_price').html(base_price+add_price);
);
有没有办法可以将它们都转换为整数,以便实际执行操作?
提前致谢!
【问题讨论】:
您可以使用一些技巧,例如乘以 1 来强制进行数字转换,或者您可以使用 parseInt() 【参考方案1】:使用parseInt
$('.product_options').change(function()
var base_price = parseInt($('#base_price').html(), 10); // 10 as second argument will make sure that base is 10.
var add_price = parseInt($(this).find("option:selected").data('price'), 10);
var new_price = base_price+add_price;
console.log(new_price);
$('.current_price').html(base_price+add_price);
);
【讨论】:
【参考方案2】:试试:
var base_price = +$('#base_price').html();
var add_price = +$(this).find("option:selected").data('price');
见强大:Mozilla's Arithmetic Operators Reference - Unary Negation
【讨论】:
我不知道..!这适用于所有浏览器吗? @BillyMoon:它是 EMCAScript 规范的一部分。【参考方案3】:您从 DOM 中提取的任何值都将是字符串,并且需要转换为数字类型才能对它们进行数学运算。
parseInt( ... )
是一个内置的 javascript 函数,如果字符串仅由数字组成,它会将字符串转换为整数。
如果需要十进制数,可以使用parseFlaot
。
var new_price = parseInt(base_price)+parseInt(add_price);
// new_price is now set to the sum of `base_price` and `add_price`
【讨论】:
【参考方案4】:使用 parseFloat 或 parseInt
$('.product_options').change(function()
var base_price = $('#base_price').html();
var add_price = $(this).find("option:selected").data('price');
var new_price = parseFloat(base_price) + parseFloat(add_price);
console.log(new_price);
$('.current_price').html(base_price+add_price);
);
【讨论】:
【参考方案5】:是的。
intval = parseInt(string)
就是你要找的。p>
【讨论】:
以上是关于将检索到的值与javascript和jquery结合起来[重复]的主要内容,如果未能解决你的问题,请参考以下文章