使用ajax如何在不刷新页面的情况下显示特定td的值

时间:2014-01-16 08:26:45

标签: javascript php jquery ajax

我正在使用内联编辑来编辑td并且在编辑之后我正在使用编辑的值进行一些计算,并且我在没有刷新页面的情况下显示特定td的计算值,我的问题是如果我正在使用编辑的值进行两次计算我想显示不同td中的计算值,但我无法显示,因为现在它显示最后两个td中的计算值。我想用不同的td显示计算值,任何人都可以指导我如何做到这一点

java脚本:

<script>    
    $(document).ready(function(){               
        $('td.edit').click(function(e){                              

                                                    success: function(data){
                                                        $('#CPH_GridView1_supplier_total_cost'+arr[2]).empty();
                                                        $('#CPH_GridView1_supplier_total_cost'+arr[2]).append(data);
                                                        $('#clienttotalprice'+arr[2]).empty();
                                                        $('#clienttotalprice'+arr[2]).append(data);
                                                         $('.ajax').html($('.ajax input').val());
                                                         $('.ajax').removeClass('ajax');
                                                    }});                                         }                                    
                                  }
                         );



    });
</script>

HTML

<td id="CPH_GridView1_supplier_total_cost'.$rows['id'].'" style="width:182px" class="edit supplier_total_cost '.$rows["id"].'">'.$rows["supplier_total_cost"].'</td>
<td id="clienttotalprice'.$rows['id'].'" style="width:217px" class="edit clienttotalprice '.$rows["id"].'">'.$rows["clienttotalprice"].'</td>   

updatedetailed.php

<?php
        print $suppliertotalcost;
        print $clienttotalprice;



?>

1 个答案:

答案 0 :(得分:1)

您正在使用print语句两次,当它返回到AJAX调用时,它被视为一个数据。

而是这样做。在updatedetailed.php

结束时
$result=array();
$result['suppliertotalcost']=$suppliertotalcost;
$result['clienttotalprice']=$clienttotalprice;
echo json_encode($result);

在你的AJAX电话中:

$.ajax({    type: "POST",
            url:"updatedetailed.php",
            data: "value="+$('.ajax input').val()+"&rowid="+arr[2]+"&field="+arr[1],
            success: function(res){
                data = jQuery.parseJSON(res); //added line
                $('#CPH_GridView1_supplier_total_cost'+arr[2]).empty();
                $('#CPH_GridView1_supplier_total_cost'+arr[2]).append(data.suppliertotalcost); //changed
                $('#clienttotalprice'+arr[2]).empty();
                $('#clienttotalprice'+arr[2]).append(data.clienttotalprice); //changed
                 $('.ajax').html($('.ajax input').val());
                 $('.ajax').removeClass('ajax');
            }});