首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对jquery中选中字段的值进行求和

如何对jquery中选中字段的值进行求和
EN

Stack Overflow用户
提问于 2014-06-07 09:30:32
回答 1查看 713关注 0票数 0

我有一个网格,它在PHP中显示来自MYSQL db的数据。

此外,我还提供了一个复选框,如果用户选中复选框,选中的值应该添加并显示在底部。

下面是php网格:

代码语言:javascript
运行
复制
<form id='myform' method='post' action=''>
<table id='mytable'>
     <?php
       $sql_getData = "SELECT * FROM MYTABLE";
       $result_getData = mysql_query();
       while($arr_data = mysql_fetch_array($sql_getData))
       {
             ?>
                 <tr>
                    <td><?php echo $arr_data['payment_id'] ?></td>
                    <td><?php echo $arr_data['payments'] ?></td>
                    <td><input type='checkbox' name='mycheckbox' class='mycheckbox'></td>
                 <tr>
             <?php
       }
     ?>
     <tr><td>Total Payments</td><td>TOTAL_VALUE</td></tr>
     </table>
</form>

编辑:提供Reigel建议的输出*预期输出:

如何使用jquery显示TOTAL_VALUE

更新代码,它添加循环中的所有值,因为它不应该. :

代码语言:javascript
运行
复制
<form id="myform" method="post" action="">
    <table id="mytable">
        <?php
        $sql_getData = "SELECT * FROM MYTABLE";
        $result_getData = mysql_query();
        while($arr_data = mysql_fetch_array($sql_getData)){
            echo '
             <tr>
                <td>'.$arr_data['payment_id'].'</td>
                <td>'.$arr_data['payments'].'</td>
                <td><input type="checkbox" name="mycheckbox" class="mycheckbox" data-payment="'.$arr_data['payments'].'"></td>
             <tr>'
           }
         ?>
         <tr>
            <td>Total Payments</td>
            <td id="tp">0.00</td>
        </tr>
     </table>
</form>

<script>
$(".mycheckbox").change(function(){
    var payment = 0;
    $(".mycheckbox:checked").each(function(){
        payment += parseFloat($(this).attr("data-payment"));
    });
    $("#tp").html("<p>"+payment.toFixed(2)+"</p>");
});
</script>

最后更新的代码,在Andy:的指导下工作得很好

代码语言:javascript
运行
复制
<form id="myform" method="post" action="">
    <table id="mytable">
        <?php
        $sql_getData = "SELECT * FROM MYTABLE";
        $result_getData = mysql_query();
        while($arr_data = mysql_fetch_array($sql_getData)){
            echo '
             <tr>
                <td>'.$arr_data['payment_id'].'</td>
                <td>'.$arr_data['payments'].'</td>
                <td><input type="checkbox" name="mycheckbox" class="mycheckbox" data-payment="'.$arr_data['payments'].'"></td>
             <tr>'
           }
         ?>
         <tr>
            <td>Total Payments</td>
            <td id="tp">0.00</td>
        </tr>
     </table>
</form>

<script>
$(".mycheckbox").change(function(){
    var payment = 0;
    $(".mycheckbox").each(function(){
        payment += $(this).prop("checked") ? parseFloat($(this).attr("data-payment")) : 0;
    });
    $("#tp").html("<p>"+payment.toFixed(2)+"</p>");
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-07 10:17:24

如果我理解正确的话,这应该是为您做的假设$arr_data['payments']包含付款金额

代码语言:javascript
运行
复制
<?
$exch_rate = 1.2;
?>


<form id="myform" method="post" action="">
    <table id="mytable">
        <?php
        $sql_getData = "SELECT * FROM MYTABLE";
        $result_getData = mysql_query();
        while($arr_data = mysql_fetch_array($sql_getData)){
            echo '
             <tr>
                <td>'.$arr_data['payment_id'].'</td>
                <td>'.$arr_data['payments'].'</td>
                <td><input type="checkbox" name="mycheckbox" class="mycheckbox" data-payment="'.$arr_data['payments'].'"></td>
             <tr>'
           }
         ?>
         <tr>
            <td>Total Payments</td>
            <td id="tp">0.00</td>
            <td id="anotherid">0.00</td>
        </tr>
     </table>
</form>

<script>
$(".mycheckbox").change(function(){
    var exch_rate = <?=$exch_rate;?>;
    var payment = 0;
    $(".mycheckbox").each(function(){
        payment += $(this).prop("checked") ? parseFloat($(this).attr("data-payment")) : 0;
    });
    $("#tp").html("<p>"+payment.toFixed(2)+"</p>");
    payment *= exch_rate;
    $("#anotherid").html("<p>"+payment.toFixed(2)+"</p>");
});
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24095798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档