试图计算检查的tr的总和。如何获取数字值
var totalqt=0;
totalqt=totalqt + $(this).closest("tr").find("#qt").text();
它得到正确的值但它像数字不工作。例如,如果第一个td的值为1,第二个td的值为2,则它会提示12而不是1 + 2。尝试过text()和html()。同样的结果。怎么了?
试图计算检查的tr的总和。如何获取数字值
var totalqt=0;
totalqt=totalqt + $(this).closest("tr").find("#qt").text();
它得到正确的值但它像数字不工作。例如,如果第一个td的值为1,第二个td的值为2,则它会提示12而不是1 + 2。尝试过text()和html()。同样的结果。怎么了?
您需要将字符串解析为int,以便可以像int一样使用它。
var totalqt=0;
totalqt=totalqt + parseInt($(this).closest("tr").find("#qt").text(), 10);
的10是因为:
的问题是如何parseInt函数猜测你的电话号码的基础。阅读 parseInt规范。它不是总是默认以10为基数,而是尝试 来猜测,如果第一个字符是'0',它认为你想要将 解析为八进制数,并且如果它以'0x'开头,它认为你想要十六进制的 。
text()
返回一个字符串。你想要一个号码。使用parseInt
:
var totalqt = 0;
totalqt = totalqt + parseInt($(this).closest("tr").find("#qt").text(), 10);
与其他答案不同,这一个也使用第二个参数来指定数字应该被转换的基数,所以这比其他答案安全得多。 – daniels 2012-02-10 15:53:14
您需要解析值为数字,这将或者使用parseInt函数(VAL,基地)或parseFloat(缬氨酸,基地)进行:
在你的榜样,你会使用:
var totalqt=0;
totalqt=totalqt +parseInt($(this).closest("tr").find("#qt").text(), 10);
你是什么意思检查TR的,你可以发布一个快速的HTML片段。 – matchew 2012-02-10 15:49:55