javascript - 如何对来自 php 变量的数字进行加/减

标签 javascript jquery forms

我想要做的是根据选择的选项更新总价。初始价格金额来自 session 变量。我已经将变量传递给 Javascript,但在使用表单时我似乎无法添加/减去该数字。

我错过了什么?

感谢您的帮助。

    <script>
    $(document).ready(function()
    {   

var phonePrice = "<?php echo $q2; ?>";
var total = phonePrice;

function calcTotal()
{
    $("input:checked").each(function()
    {
        //This happens for each checked input field
        var value = $(this).attr("value");
        total += parseInt(value); 
    });
}

//This happens when the page loads
calcTotal();    
$("form").before('<p class="total">Total: <strong>' + total + '</strong></p>');
$(":submit").before('<p class="total">Total: <strong>' + total + '</strong></p>');

$("input:checkbox, input:radio").click(function()
{
    total = phonePrice;
    calcTotal();
    $("p.total").html("Total: <strong>" + total + "</strong>");
});
    });
    </script>

表格看起来像这样

    <form action="" method="post">
<fieldset id="delivery_speed">
    <legend>Options
    </legend><ol>
        <li>
            <input type="radio" name="speed" id="speed_1day" value="49" />
            <label for="speed_1day">Option 1 ($49)</label>
        </li>
        <li>
            <input type="radio" name="speed" id="speed_3days" value="0" checked />
            <label for="speed_3days">Option 2 (no charge)</label>
        </li>
        <li>
            <input type="radio" name="speed" id="speed_5days" value="-39" />
            <label for="speed_5days">Option 3 (-$39)</label>
        </li>
    </ol>
</fieldset> 
<fieldset id="browser_support">
    <legend>Additional Choices</legend>
    <p>
        <input type="checkbox" name="browser" id="browser" value="100" />
        <label for="browser">Checkbox 1 ($100)</label>
    </p>
</fieldset>
<p><input id="submit" type="submit" value="Continue to Checkout &gt;&gt;"></p>
    </form>

最佳答案

var phonePrice = "<?php echo $q2; ?>";

假设 php 代码在渲染时输出如下内容:

var phonePrice = "99.99";

引号使其成为字符串而不是数字。删除引号,您将得到一个可以正确添加的数字。

var phonePrice = <?php echo $q2; ?>;

关于javascript - 如何对来自 php 变量的数字进行加/减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568132/

相关文章:

forms - 如何同时更改控件而不重新绘制每个控件?

javascript - Angular 形式不断返回 false(Angular 2)

php - 为什么我的表单变量没有通过 POST 传递?

javascript - Jquery 根据选中的复选框获取正确的值

javascript - angularjs 从表格颜色中删除行打破样式

javascript - 每次加载时按内容设置 iframe 高度

javascript - 在原型(prototype)中使用 JavaScript 发出居中动态大小的对象

javascript - 重复 Javascript/jQuery 直到特定结果

javascript - jQuery 表单验证问题,其他框可见

javascript - JQuery 中 HTML5 页面之间传递参数