Php Jquery自动计算

Php Jquery自动计算,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我的目标是能够根据给定的2个值计算小计。首先给出一个值,然后输入另一个值。当用户在“数量”字段中输入不同的值时,小计会发生变化 下面是我正在使用的jquery代码: <script type="text/javascript"> $(function(){ $('input[id^=qty]').keyup(function(){ var parentDiv = $(this).closest('#axd'); var curprice=parentDiv.fi

我的目标是能够根据给定的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);
});




});

$(函数(){
$('input[id^=qty]')。键控(函数(){
var parentDiv=$(this).closest('#axd');
var curprice=parentDiv.find('input[id^=price]').val();
var curqty=此值;
var curtotal=当前价格*当前数量;
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>


为什么不为每个字段分配一个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;
}

在任何需要的事件上调用该函数。而且。。。完成。

不确定这是否有帮助,但根据“开始于”选择器的文档,该值应在引号中,例如“input[id^=“comp”]”可能希望接受一些答案以获得更多响应。此外,我刚刚注意到您的HTML格式不正确。您可能无法将和元素作为元素的子元素。我想知道这是否是问题的一部分,也就是jQuery是否能够处理DOM怪异。这与jQuery处理DOM怪异无关,因为浏览器试图从错误中恢复过来,并构建一个不需要查看的DOM(例如,将表单移到表外)试图创建另一个更简单的脚本。我甚至做了一些比上面更奇怪的dom。但我不明白它是否真的有效:试试看。