我正在尝试创建JS来执行动态计算。但是,它不起作用(在INPUT中输入数字时没有任何作用;#34; qtyoriginal"。我错过了什么?
<script type="text/javascript">
function price() {
var _qtyoriginal = document.getElementById(qtyoriginal).value;
var _qtyjunior = document.getElementById(qtyjunior).value;
(priceOriginal).value = 46.5 * _qtyoriginal;
document.getElementById(priceTotal).value = 8.5 + 43.5 * _qtyjunior + 46.5 * _qtyoriginal;
}
</script>
HTML
<td class="center"><input type="text" id="qtyoriginal" name="qtyoriginal"
class="number validate[custom[integer]]" value="" autofocus style="text-align:right;"
placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'"
onChange="price()"/></td>
<td class="center">46.50</td>
<td id="priceOriginal" name="priceOriginal" class="right">0.00</td>
答案 0 :(得分:0)
首先,既然您正在使用Jquery,那么为什么不在所有代码中都使用jquery语法?
无需使用document.getElementById(id)
,就可以使用$("#id")
。
并查看下面对方法的修复:
<script type="text/javascript">
function price() {
var _qtyoriginal = $("#qtyoriginal").val();
var _qtyjunior = $("#qtyjunior").val();
var result = 46.5 * _qtyoriginal;
$("#priceOriginal").text(result);
result = 8.5 + 43.5 * _qtyjunior + 46.5 * _qtyoriginal;
$("#priceTotal").text(result);
}
</script>
请注意,我不确定priceTotal的组件类型是什么,但是如果是输入,则如果不使用.val(newValue);
或{{1 }}
了解更多: