- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
只是想知道是否有人知道我下面的 javascript 数学脚本有什么问题:
var new_total = (document.getElementById('qty').value * document.getElementById('pricepermetre').value) + document.getElementById('delivery').value
基本上应该是 (1 x 10) + 2 = 12
但是上面的脚本将交付值添加到末尾,例如 (1 x 10) + 2 = 102
这是完整的测试页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/smoothness/jquery-ui.css" type="text/css" rel="Stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
</head>
<body>
<table class="mytable">
<tr>
<td>QTY:</td>
<td><input name="qty" type="text" id="qty" style="width:70px;" value="0" maxlength="9" />
KG </td>
</tr>
<tr>
<td>PRICE PER KG (EX TAX):</td>
<td>$
<input name="pricepermetre" type="text" id="pricepermetre" style="width:70px;" value="0" maxlength="9" /></td>
</tr>
<tr>
<td>DELIVERY FEE (EX TAX):</td>
<td>$
<input name="delivery" type="text" id="delivery" style="width:70px;" value="0" maxlength="9" /></td>
</tr>
<tr>
<td>TOTAL (EX TAX):</td>
<td><span id="totalpricespan">$0</span>
<input name="totalprice" type="hidden" id="totalprice" style="width:70px;" value="0" maxlength="9" />
<span style="color:#999;">(qty x price per kg + delivery fee)</span></td>
</tr>
<tr>
<td> </td>
<td><input type="button" name="WorkOutTotals" id="WorkOutTotals" value="Work Out Totals" /></td>
</tr>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#WorkOutTotals').click( function() {
//work out new total
var new_total = (document.getElementById('qty').value * document.getElementById('pricepermetre').value) + document.getElementById('delivery').value
$("#totalprice").val(new_total);
$("#totalpricespan").html('$' + new_total);
});
});
</script>
</body>
</html>
提前致谢;)
最佳答案
document.getElementById('delivery').value
返回一个字符串,并且您将以字符串连接结束,因为 JS 使用 +
来连接字符串。
更新
JavaScript 的 +
根据您使用的不同具有不同的含义。令人惊讶的是,即使数字显示为字符串,*
也可以相乘。
试试这个
// `*` will infer that you wanted multiplication
alert("2" * 2);
alert("2" * 2);
alert(2 * "2");
alert(2 * 2);
// however, the `+` may take addition or string concatenation
alert("1" + "0");
alert("1" + 0);
alert(1 + "0");
alert(1 + 0);
关于Javascript 数学与我想象的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561977/
我正在使用 PHP Imagick 来处理图像。 我有两个用例:“调整大小”和“裁剪”。 在“调整大小”中,如果原始图像的尺寸小于给定的宽度和高度,我不希望 Imagick 将其放大,而是希望它简单地
当尝试从 PHP 进行简单的转换时,我收到此错误: exception 'ImagickException' with message 'wand contains no images `Magick
我想了解如何从动画 GIF 中删除帧。 目前我正在尝试这个(作为测试): $count = 1; foreach ($_im AS $frame) { if ($count > 1) { $f
我正在处理 Sylius 1.5 项目,在我的本地环境中一切正常,但是在部署到我的开发环境时,我在过滤图像上遇到错误(使用 liip 想象过滤器)。 该环境由一个运行 sylius 的 docker
我是一名优秀的程序员,十分优秀!