javascript - 实时计算?

标签 javascript php jquery html ajax

我搜索了所有 SOF,但找不到任何符合我的问题的主题。 我编写了一个 HTML 表单,稍后我将使用 PHP 来处理该表单,但表单中有一些选项可供用户选择。这是 HTML 代码

<label for="FIELD6">Model Type: </label><br>
<input type="radio" id="basemodel" name="FIELD6" value="Normal Model"  checked  onclick="doMath()" />Normal Model<br>
<input type="radio" id="workshopmodel" name="FIELD6" value="Workshop Model" onclick="doMath()" data-clicked="no" />Workshop Model
<p id="total"></p>

因此用户可以在普通模型和创意工坊模型之间进行选择。我试图设置它,以便当用户检查workshopmodel单选按钮时,它会添加到总价格(在段落标签中指定)。这是我对鲜为人知的语言 jQuery 的尝试:

function doMath() {
    var basePrice = 15;
    var baseModel = 0;
    var customModel = 5;
    var modelTotal = ;
    function workshopModel() {
        if(getElementById("workshopmodel").click(function() {
            modelTotal = basePrice + customModel;
        }
    }
    function defaultModel() {
        if(getElementById("basemodel").click(function() {
            modelTotal = total basePrice + baseModel;
        }
    }
}
$("#total").html('<font color="black">Total Price:</font><font color="#09ff00">' +  workshopModel() + '');

因此,我试图将其实时添加到基本价格中,然后在每次用户更改选择时(实时)打印它来代替标记为“total”的 ID。因此,如果用户选择 WorkshopModel,脚本将添加 15 和 5,结果为 20,如果用户选择 BaseModel,脚本将添加 15 和 0,结果为 15。我 undefined variable modelTotal,因为它应该稍后定义在脚本中。谁能帮我解决这个问题吗?

最佳答案

这应该按照你想要的方式工作。另外,不需要 jQuery。

function doMath() {
    var basePrice = 15;
    var baseModel = 0;
    var customModel = 5;
    var modelTotal;
    if (document.querySelector('input[name="FIELD6"]:checked').value == "Normal Model") {
        modelTotal = basePrice + customModel;
    }

    if (document.querySelector('input[name="FIELD6"]:checked').value == "Workshop Model") {
        modelTotal = basePrice + baseModel;
    }
    console.log(modelTotal);
    document.getElementById('total').innerHTML = '<span style="color:black">Total Price:' + modelTotal + '</span>';
}
<label for="FIELD6">Model Type:</label>
<br>
<input type="radio" id="basemodel" name="FIELD6" value="Normal Model" onclick="doMath()" />Normal Model
<br>
<input type="radio" id="workshopmodel" name="FIELD6" value="Workshop Model" onclick="doMath()" />Workshop Model
<div id="total"></div>

关于javascript - 实时计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32101290/

相关文章:

javascript - 从 Laravel Controller 中的 AJAX post 请求将数据添加到 MySQL

javascript - 如何替换(复制粘贴)文本框中的非字母字符

javascript - 如何在文本区域中显示输入(名称+值)?

javascript - 用于非 SPA 应用程序的 Vue js - 在没有应用程序组件的情况下加载组件

javascript - 如何从包含 <tr> 元素的 javascript 变量中获取单元格数据

javascript - Chartjs 工具提示 anchor 在条形图上的位置

javascript - AngularJS - $location html5Mode 是如何工作的?

php - 如何通过 woocommerce REST API 添加产品图片?

php - 如何将多维数组转换为PHP中的对象?

jquery - 限制 html5 Canvas 内的移动?