[英]jQuery with php while on table tr td sum of the column for sub total
我想知道我的jquery是否正确添加td并得到子总数和总数的总和。
我的jquery是,
$(document).ready(function(){
var sum = 0;
var td = $('input[name=sumof]').val();
jQuery.each(td,function(number){
sum += parseInt($(this).val());
$('#total_f').val(sum);
});
})
这是我的HTML
<div class="quotation_computation" style="margin-top:50px;">
<table cellpadding="5" cellspacing="0" width="100%">
<tr>
<th>#</th>
<th>Definition</th>
<th>Amount</th>
<th>Total</th>
<th>BTW</th>
</tr>
<?
$get_details = mysql_query( "SELECT * FROM jon_com_quo_computation WHERE com_code = '".$_GET['ccom']."' " ) or die ( mysql_error());
$found_record = mysql_num_rows( $get_details );
if ( $found_record != 0 ) {
while( $set_det = mysql_fetch_array( $get_details ) ) {
$total = $set_det['quo_quantity'] * $set_det['quo_amt'];
?>
<tr>
<td class="add_text">
<?=$set_det['quo_quantity'];?> x
</td>
<td class="add_text" width="250"><?=$set_det['quo_definition'];?></td>
<td class="sum_text">
<?=$set_det['quo_amt'];?>
<input type="hidden" name="sumof" value="<?=$set_det['quo_amt'];?>" />
</td>
<td class="add_text" id="total"><?=$total;?></td>
<td class="add_text"><?=$set_det['quo_btw'];?></td>
</tr>
<?
}
} else {
?>
<tr>
<td class="add_text">#</td>
<td class="add_text">Definition</td>
<td class="add_text">Amount</td>
<td class="add_text" id="total">Total</td>
<td class="add_text">BTW</td>
</tr>
<?
}
?>
</table>
</div>
<div class="sub_total_computation" style="width:200px; position:relative; left:325px;">
<?
$get_total_computation = SET_SQL( "SELECT quo_btw FROM jon_com_quo_computation WHERE com_code = '".$_GET['ccom']."' " );
?>
<table cellpadding="5" cellspacing="0" width="100%">
<tr>
<td><strong>Sub Total</strong></td>
<td>
<span id="total_f"></span>
<input type="hidden" name="total_f" value="" />
</td>
</tr>
<tr>
<td><?=$get_total_computation['quo_btw'];?></td>
<td><?=$btw;?></td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><?=$btw;?></td>
</tr>
</table>
</div>
如果你看到hidden name=sumof
td class=sum_text
在td class=sum_text
答案,但答案没有出现。 我们是否需要使用.keyup
函数才能显示jquery? 或者我只需要使用PHP
以便它可以工作?
谢谢你,先生。
尝试这个:
$(document).ready(function(){
var sum = 0;
$('input[name=sumof]').each(function(){
sum += parseInt($(this).val());
});
$('#total_f').val(sum);
});
你的变量td只能从输入元素中获取一个值,并且不足以用作与each()函数一起循环的对象(输入元素)。 你只需要让函数输出一次总和,所以我把它从每个循环中取出来。
为了进一步提高函数效率你可以只使用td元素的内容,并完全删除隐藏的输入元素:
$(document).ready(function(){
var sum = 0;
$('td.sum_text').each(function(){
sum += parseInt($(this).text());
});
$('#total_f').val(sum);
});
你有一个问题:
var td = $('input[name=sumof]').val(); // you are getting the value of the first matched element
jQuery.each(td,function(number){
sum += parseInt($(this).val());
您假设td
包含一个集合,但是当您使用val()
,结果为Description: Get the current value of the first element in the set of matched elements.
所以只需将其更改为:
var td = $('input[name=sumof]');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.