Jquery - 动态计算

时间:2017-08-05 09:26:10

标签: jquery

我正在尝试创建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>

1 个答案:

答案 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 }}

了解更多:

  1. http://api.jquery.com/val/
  2. http://api.jquery.com/text/
  3. https://api.jquery.com/id-selector/