0

我只是在学习javascript,希望你们能帮助我。

这是我的代码

下面的代码用于显示我的数据库中的成分名称

<?php
$q = pg_query("Select * FROM tblingredients");
while($r = pg_fetch_assoc($q)) {
     echo '
     <li>
     <a href="#" onclick="showOrder(\''.$r_ing['ingredientid'].'\', '.$r_ing['ingprice'].'); return     false;">'.$r_ing['ingredientname'].'</a><br>             
    </li>';
    } 
?>

然后我有这个单独的代码来显示上面所选成分名称的名称和价格。当用户点击下面代码上方的成分名称时,将显示名称以及所选成分的价格。

<?php 
$q_order = pg_query("Select * FROM tblingredients");
    while($r_order = pg_fetch_assoc($q_order)) {
    ?>
<div id="<?php echo $r_order['ingredientid'];?>" style="display: none;" class="cart_item">
<div class="item_amount">1x</div>
    <div class="item_name">
        <a href=""><?php echo $r_order['ingredientname']; ?></a> </div>
        <a title="Remove item" rel="tooltip" onclick="deleteItem(<?php echo $r_order['ingredientid'];?>)"    class="close" href="">×</a>
    <div class="item_cart_price"><?php echo $r_order['ingredientprice']; ?></div>
</div><!--cart_item-->
<?php $i++;} ?>

然后下面是我要显示所选成分的总价格的地方。

<div id="total"></div>

这是我的javascript代码,这是我的问题

<script type="text/javascript">
function showOrder(id, price) {
    document.getElementById(id).style.display = 'block';
    total = parseInt(price, 10);
    document.getElementById('total').innerHTML += total;
};
</script>

上面的 javascript 所做的只是连接价格并且不会添加价格。假设用户点击价格为 5 的成分 A,价格为 10 的成分 B,价格为 20 的成分 C

总显示像这样 -> 51020

我只是在学习 javascript 并尝试将其应用到我的 php 代码中。预先感谢您的回答。

如果用户使用上面的代码单击 X,我也希望删除选定的成分

<a title="Remove item" rel="tooltip" onclick="deleteItem(<?php echo $r_order['ingredientid'];?>)" class="close" href="">×</a>

谢谢你。

4

1 回答 1

0

尝试这样的事情......

function showOrder(id, price) {
    document.getElementById(id).style.display = 'block';
    price = parseInt(price, 10);
    oldTotal = parseInt(document.getElementById('total').innerHTML);
    if (isNaN(oldTotal)) {oldTotal = 0;}
    total = price + oldTotal;
    document.getElementById('total').innerHTML = total;
};
于 2013-03-28T19:14:53.447 回答