<?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是来自选项select的。
在此之前,我使用javascript并工作。但我想计算并显示为变量$ total。问题出在$ shipping中,也许问题出在

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


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

之前感谢。

最佳答案

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

10-06 07:33