【问题标题】:php: onchange option select update totalphp: onchange 选项选择更新总计
【发布时间】:2011-03-30 12:25:02
【问题描述】:
   <?php
    $price = 85;
    echo"
    <script type=\"text/javascript\">
    function updateHarga(){
        var input = document.getElementById(\"shipping\");
        var dropd = document.getElementById(\"dd\");
        input.value = parseInt(dropd.value);
    };
    </script>";
    $shipping ="<input type=\"text\" id=\"shipping\" value=\"$price\">";
    $total = $price+$shipping;
    echo "
    $total
        <br>
        Pilih Frame: <select name=\"$fr\" id=\"dd\" onChange=\"updateHarga()\">
        <option value=\"0\">Economy</option>
        <option value=\"10\">DHL +$10</option>
        <option value=\"15\">FEDEX +$15</option>
    </select>
    ";
    ?>

如何根据 $price + $shipping 更新 $total。 $price 是从 mysql 查询和 $shipping 从选项选择。 在此之前,我使用 javascript 并工作。但我想计算并显示到变量 $total。问题出在 $shipping 上,也许问题出在

$shipping ="<input type=\"text\" id=\"shipping\" value=\"$price\">";

因为不是字符串格式。 有没有其他方法可以获得相同的结果?

之前谢谢。

【问题讨论】:

  • 你还在使用 JavaScript,你只是在使用 PHP 来输出它。你能澄清一下你的问题是什么吗?
  • 是的,我仍然使用 javascript 仅显示 $shipping,但在计算后的 ($total),看起来只是 $price,而不是 $price+shipping(结果)。
  • 当您将文本用双引号括起来时,您应该对不是 php 变量的项目执行 \$ 示例:DHL +\$10

标签: php javascript select option onchange


【解决方案1】:

这行$total = $price+$shipping; 显得多余。您正在将字符串添加到整数。字符串$shipping 已经包含了一个值为$price 的表单输入框。然后,$total 不会在您的其余代码示例中的任何地方使用。

更新 1

不完全确定我理解,但试试这个:

<?php
    $price = 85; //default shipping rate
    echo"
        <script type=\"text/javascript\">
            function updateHarga(){
                var input = document.getElementById(\"shipping\");
                var dropd = document.getElementById(\"dd\");
                var base_price = $price;
                input.value = parseInt(dropd.value) + base_price;
            };
        </script>
        <input type=\"text\" id=\"shipping\" value=\"$price\">
        <br>
        Pilih Frame: <select name=\"$fr\" id=\"dd\" onChange=\"updateHarga()\">
        <option value=\"0\">Economy</option>
        <option value=\"10\">DHL +$10</option>
        <option value=\"15\">FEDEX +$15</option>
    </select>
    ";
?>

【讨论】:

  • $price 是默认价格,但选择更改选项后,价格会更新(+ $shipping)。 $shipping 将更新该值。对不起我的英语。
  • @dimsdims 查看我修改后的答案
  • 结果只显示运费,如何将$price和$shipping之和显示到$total中。
  • 您不能像从 javscript 那样将总数传回 PHP,因为在用户浏览器下载页面时 PHP 已经完成运行。
猜你喜欢
  • 1970-01-01
  • 2020-07-16
  • 2014-02-22
  • 2014-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多