Jquery自动计算

时间:2011-02-19 13:39:41

标签: php javascript jquery ajax

我的目标是能够从给定的2个值计算小计。给出第一个值,输入另一个值。当用户在数量字段中输入不同的值时,小计会发生变化。

这是我正在使用的jquery代码:

<script type="text/javascript">
$(function(){

$('input[id^=qty]').keyup(function(){

    var parentDiv = $(this).closest('#axd');

    var curprice=parentDiv.find('input[id^=price]').val();
    var curqty= this.value;
    var curtotal=curprice * curqty;

    parentDiv.find('input[id^=comp]').val(curtotal);
});




});

这是身体:

 <tr>
    <form name="cartform" method="get" onsubmit="return validate_form(this);" action="checkout.php">
        <div id="axd">
            <td><?php echo $name; ?></td>

            <input type="hidden" id="pids" name="ids[]" value="<?php echo $id; ?>"/>
            <input type="hidden" name="qoh[]" value="<?php echo $qtyhand; ?>"/>

            <input type="hidden" name="dprice[]" value="<?php echo $dsprice; ?>"/>


            <td><?php echo $qtyhand; ?></td>


            <td><input type="text" id="<?php echo 'qty' . $id; ?>" name="qbuys[]" value=""/></td>


            <input type="hidden" id="<?php echo 'price' . $id; ?>" name="sprice[]" value="<?php echo $ssprice; ?>"/>
            <td><?php echo $ssprice; ?></td>

            <td><input type="text" name="subtot[]" id="<?php echo 'comp' . $id; ?>" value=""/></td> 

            <td><a href="viewcart.php?action=zeroline&id=<?php echo $id; ?>"><img src="../img/system/delete-icon.png"></img></a></td>

        </div>
    </form>
    </tr>

错误在于它根本不输出任何值。我的代码出了什么问题? 以下是代码完整版的链接:http://cu.pastebin.com/sWxFV6Hg

1 个答案:

答案 0 :(得分:1)

为什么不直接为每个字段分配ID并使用经典的javascript代替jquery进行一次乘法和求和。

像这样: - 分配ID然后写这个函数:

function operation()
{
  var op1 = document.getElementById('id1').value;
  var op2 = document.getElementById('id2').value;
  document.getElementById('wherever_you_want_it').value = op1 (whatever operation) op2;
}

在您想要的任何事件上调用该函数。并且......完成了它。