不是每次NaN显示时都在jquery中进行乘法运算
Not work multiplication in jquery every time NaN show
我从span标记和文本框中获取值,并将它们相乘,但它不能正常工作。当我检查浏览器时,我会播种来自span标记和文字框的值,但相乘值(totalprice)显示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");
}
});
})
你能检查吗
var totalprice =(Number(quentity) * Number(price));
您将price作为$.text()的字符串。当您在javascript中将数字与字符串相乘时,您将获得值NaN。尝试使用Number()函数强制转换您的值。
将它们解析为数字。
var totalprice = parseInt(quentity) * parsefloat(price);
- 或
var totalprice = (~~quentity) * parseFloat(price);
您正在返回字符串,需要将它们转换为数字。
如果您有标准的数字输入,那么parseFloat
和Number
之间没有区别。当您的输入以数字开头并包含其他字符时,parseFloat
会截断字符串中的数字,而number返回NaN
(不是数字):
parseFloat('23x'); // => 23
Number('23x'); // => NaN
Number也理解类似23e5
(即2300000)的符号
另一件事是你可以使用+
,它的行为就像Number
var totalprice = (Number(quentity) * Number(price));
var totalprice = (+quentity) * (+price);
请注意,两者都将"023"转换为八进制,即19位数字(十进制)
请注意,不清楚您的quentity
是否是数量,如果是,数量通常是一个整数,因此您可能会将parseInt
视为该数字
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 不是每次NaN显示时都在jquery中进行乘法运算
- 使用jquery进行一些求和和和乘法运算
- 如何使用Javascript/JQuery检查字符串的形式是否为10 * 10 * 10 * 10,然后进行数学运算
- 获取标签值并使用jquery进行算术运算
- jQuery 数学运算在 $(window).height() 上:如果减法不起作用,则除法不起作用
- JavaScript(或jQuery)在提交之前在表单中进行数学运算
- jQuery从表单字段中获取值,并用它们做数学运算函数不起作用
- 如何在jquery中将带数学运算的字符串声明为变量
- 如何在jquery中对动态添加的变量进行乘法运算
- 使用jQuery对一个元素进行布尔运算