[mysql]当选择它们时显示值的总和

发布时间: 2016/10/25 4:08:32
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有列表值与生成的数据库查询。 我想要看到的值的总和,被 (由选定复选框) 的用户。

enter image description here

复选框的代码︰

<?php
$i = -1;
while ($row = mysql_fetch_array($res))
{
$i++;
?>
echo '<table>
<tr>
<td><input type="checkbox" onclick="bedrag_optellen(this, <?php echo $i ?>);" value= "'.$row['bedrag_incl'].'"></td>
<td>&euro; '.number_format($row['bedrag_incl'], 2, ',', ' ').'</td>
</tr>
</table>';
}
?>

输出字段代码︰

<table>
<tr>
<td width="51"><input type="text" id="bedragen_selected" name="bedragen_selected" value="" size="10" style="text-align:right;background-color: #e7e7e9" readonly="readonly" /></td>
</tr>
</table>

JavaScript

<script type="text/javascript"</script>
function bedrag_optellen(checkbox, nr)
{
        var i, totaal = 0;
        var elems = document.getElementsByName('bedrag_optellen[]');
        var l = elems.length;
        for(i=0; i<l; i++)
        {
            if(formElement['bedrag_optellen[]'][i].checked = true)
            {
                 totaal += parseFloat(elems[i].value) || 0;
             }

            document.getElementById('bedragen_selected').value = totaal.toFixed( 2 );
        }
}
</script>

代码不工作,也没有给出的错误。

有谁能帮我吗?

https://jsfiddle.net/fawavmbo/

解决方法 1:

查阅这个小提琴

我用 jQuery 为它提供的简单性。

以下更改︰

  1. 添加一个类 cost 的复选框。
  2. 删除 onClick 属性。
  3. 添加的 jQuery。

工作在你系统中的代码,添加以下代码到你<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这里是片段。

HTML

<table>
<tr>
    <td><input class='cost' type="checkbox" value= "8"></td>
    <td>&euro; 8</td>
</tr>
<tr>
    <td><input class='cost' type="checkbox"  value= "3"></td>
    <td>&euro; 3</td>
</tr>
<tr>
    <td><input class='cost' type="checkbox" value= "19"></td>
    <td>&euro; 19</td>
</tr>
<tr>
    <td><input class='cost' type="checkbox" value= "2"></td>
    <td>&euro; 2</td>
</tr>
<tr>
    <td><input class='cost' type="checkbox" value= "15"></td>
    <td>&euro; 15</td>
</tr>
<tr>
    <td><input class='cost' type="checkbox" value= "12"></td>
    <td>&euro; 12</td>
</tr>
</table>

<table>
<tr>
<td width="51"><input type="text" id="bedragen_selected" name="bedragen_selected" value="" size="10" style="text-align:right;background-color: #e7e7e9" readonly="readonly" /></td>
</tr>
</table>

JS

var sum = 0;

$('.cost').click(function() {
    if($(this).is(':checked')) {
        sum = sum + parseInt($(this).val());
    } else {
        sum = sum - parseInt($(this).val());
    }
    $('#bedragen_selected').val(sum);
});
赞助商