php:onchange选项选择更新总计

时间:2011-03-30 12:25:02

标签: php javascript select option onchange

   <?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 ="<input type=\"text\" id=\"shipping\" value=\"$price\">";

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

之前感谢。

1 个答案:

答案 0 :(得分:3)

此行$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>
    ";
?>