我的目标是能够从给定的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
答案 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;
}
在您想要的任何事件上调用该函数。并且......完成了它。