javascript - 使用下拉框和文本框进行计算

标签 javascript html textbox dropdownbox

在你们因为我没有尝试代码而指责我之前,我对 Javascript 非常陌生,我需要将这个功能实现为一项非常重要的工作。

我从这个线程中得到了基础下拉计算,Javascript drop-down form math calculation 。我修改了我的代码的线程引用的代码

如果我的代码完全错误,请原谅我,我仍在努力一点一点地做。如果你们能帮助我找出错误和/或问题,我将不胜感激。

回到主题,我想获取每件元素的成本,然后统计要计算的总成本。 JSFiddle 链接是 here 。感谢您提供的帮助。

HTML 代码

<form name="priceCalc" action="">Laundry (Gentlemen)
<br/>Apparels:
<select name="gapparell" onchange="gentlemanl();">
    <option value="5.00">Tie</option>
    <option value="7.50">Shirt</option>
    <option value="12.50">Jacket</option>
</select>
<br>Quantity:
<input type="text" id="gqtyl" onchange="gentlemanl();" />
<br>
<br/>Dry Cleaning (Gentlemen)
<br/>Apparels:
<select name="gappareld" onchange="gentlemand();">
    <option value="6.00">Tie</option>
    <option value="8.50">Shirt</option>
    <option value="13.50">Jacket</option>
</select>
<br>Quantity:
<input type="text" id="gqtyd" onchange="gentlemand();" />
    <br/><br/><br/>Laundry (Ladies)
<br/>Apparels:
<select name="lapparell" onchange="ladiesl();">
    <option value="5.00">Tie</option>
    <option value="7.50">Shirt</option>
    <option value="12.50">Jacket</option>
</select>
<br>Quantity:
<input type="text" id="lqtyl" onchange="ladiesl();" />
<br>
<br/>Dry Cleaning (Ladies)
<br/>Apparels:
<select name="lappareld" onchange="ladiesd();">
    <option value="6.00">Tie</option>
    <option value="8.50">Shirt</option>
    <option value="13.50">Jacket</option>
</select>
<br>Quantity:
<input type="text" id="lqtyd" onchange="ladiesd();" />
<br>Total Cost:
<input type="text" id="prices">
<br/>
<input type="button" value="Figure out pricing!" onclick="total();">
<br>

JAVASCRIPT 代码

function gentlemanl() {
var Amt = document.priceCalc.gapparell;
var Qty = document.priceCalc.gqtyl;
var price = parseInt(Qty.value) * parseFloat(Amt.value);
document.getElementById("prices").value = price; 
}

function gentlemand() {
var Amt = document.priceCalc.gappareld;
var Qty = document.priceCalc.gqtyd;
var price = parseInt(Qty.value) * parseFloat(Amt.value);
document.getElementById("prices").value = price;
}

function ladiesl() {
var Amt = document.priceCalc.lapparell;
var Qty = document.priceCalc.lqtyl;
var price = parseInt(Qty.value) * parseFloat(Amt.value);
document.getElementById("prices").value = price;
}

function ladiesd() {
var Amt = document.priceCalc.lappareld;
var Qty = document.priceCalc.lqtyd;
var price = parseInt(Qty.value) * parseFloat(Amt.value);
document.getElementById("prices").value = price;
}

function total() {
//I am not sure how the function works
}

最佳答案

这是我认为你想做的一个工作示例:http://jsfiddle.net/gd12k4mt/5/

function gentleman1() {
    var Amt = document.priceCalc.gapparell;
    var Qty = document.priceCalc.gqtyl;
    return parseInt(Qty.value) * parseFloat(Amt.value);
}

我设计了这样的功能。附有每个产品的值(value) * 数量的返回声明。

function total() {
if(isNaN(gentleman1())) {
    gentleman_laundry = 0;
} else {
    gentleman_laundry = gentleman1();
}

if(isNaN(gentlemand())) {
     gentleman_dry = 0;   
} else {
     gentleman_dry = gentlemand();
}

if(isNaN(ladies1())) {
   ladies_laundry = 0;   
} else {
   ladies_laundry = ladies1();
}

if(isNaN(ladiesd())){
   ladies_dry = 0;   
} else {
   ladies_dry = ladiesd();
}

var totalPrice = gentleman_laundry+gentleman_dry+ladies_laundry+ladies_dry;

document.getElementById('prices').value = totalPrice;
}

total 函数类似于对空字段进行测试。为此,我创建了变量:

var gentleman_laundry,
    gentlemend_dry,
    ladies_laundry,
    ladies_dry;

确保您的函数名称正确:这里您的 html 事件和脚本中有两个不同的名称。

我个人没有使用这些 html 监听器,因为我想我们希望最后得到总价。所以我在最后一个按钮上只声明了一个监听器。

document.getElementById('submit_button').addEventListener('click', function(){
    total();
})

希望这有帮助。

关于javascript - 使用下拉框和文本框进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826244/

相关文章:

javascript - ExtJS 选项卡面板加载程序无法加载 html 页面的 javascript

javascript - 未捕获的类型错误 : Cannot read property of undefined when trying to receive an object scecific variable form a 2D array

javascript - 使用 jquery 增加 CSS 值而不是减少

jquery - 在 jquery 中更改多个 div 位置

php - 如何在 JavaScript 中嵌入 PHP 代码?

javascript - jQuery :hidden selector equivalent in Javascript?

javascript - 刷新页面时在输入字段中保留值

javascript - Javascript onBlur 事件在 html 文件中出现错误

c# - 在循环中获取 Null 异常错误。尝试调试

c# - 如何根据宽度值获取字符串部分?