如何根据多个用户选择有效地定义变量
How can I efficiently define a variable based on multiple user choices?
我正在为一家公司的网站编写一个程序,该程序将允许他们在电话上做报价,这是一个他们已经手工做了一段时间的过程。他们卖的一种东西是用来做屋顶的山脊帽。此商品的价格由用户的4个决定决定。
- 客户定价级别,有3个选择(单选按钮)
- 条件,2个选择(平面或雕刻,下拉框)
- 颜色,有4种选择(下拉框)
- 宽度,有14个选择(下拉框)
到目前为止,我已经用一个巨大的If定义了这个变量…Else if语句,超过1000行代码。问题是大多数产品都是一样的,按照这个速度,我要花几个月的时间才能完成。我将张贴我的HTML下面跟着脚本。提前感谢任何可以帮助的人。(注意:我只发布了代码,我认为是必要的,以帮助我的问题,假设我知道周围的标签,如表等)
HTML的颜色选择…(每种颜色改变价格)
<td><form name="form2" method="post" action="">
<label for="color"></label>
<select name="color" id="color">
<option value="galvanized">galvanized</option>
<option value="galvalume">galvalume</option>
<option value="metallic copper">metallic copper</option>
<option value="red">red</option>// there are many painted colors which is why i use "else" for this price change.
</select>
</form>
HTML的修剪…(选择条件和宽度)
<td>Ridge:</td>
<td><select id="ridgeChoice" name="ridgeChoice">
<option value="Sculpted">Sculpted</option>
<option value="Flat">Flat</option>
</select> Qty:
<input id="ridgeTrim" type="text" value="" size="3"> Width:<select id="ridgeWidth" name="ridgeWidth">
<option value="13">13"</option>
<option value="16">16"</option>
<option value="18">18"</option>
<option value="20">20"</option>
<option value="22">22"</option>
<option value="24">24"</option>
<option value="26">26"</option>
<option value="28">28"</option>
<option value="30">30"</option>
<option value="32">32"</option>
<option value="34">34"</option>
<option value="36">36"</option>
<option value="38">38"</option>
<option value="40">40"</option>
</select>
</td>
价格级别的HTML只是一个包含三个选项的单选组,这些选项也会影响价格。
Javascript…var ridgeChoice=document.getElementById("ridgeChoice").value;
var ridgeWidth=document.getElementById("ridgeWidth").value;
var ridgePrice;
if (ridgeChoice=="Sculpted")
{
if (retailPrice.checked)
{
if (ridgeWidth=="13")
{
if(colorChoice=="galvalume")
{
ridgePrice=14.70;
}
else if (colorChoice=="metallic copper")
{
ridgePrice=19.55;
}
else if (colorChoice=="galvanized")
{
ridgePrice=13.35;
}
else
{
ridgePrice=16.65;
}
}
else if (ridgeWidth=="16")
{
if(colorChoice=="galvalume")
{
ridgePrice=21.30;
}
else if (colorChoice=="metallic copper")
{
ridgePrice=29.50;
}
else if (colorChoice=="galvanized")
{
ridgePrice=20.5;
}
else
{
ridgePrice=22.90;
}
}
这将持续1000行。是否有更好的方法根据许多不同的用户选择来定义变量?
为什么不把选择和价格放在属性文件中呢?由于属性文件处理键值对,您只需要从用户选择中获取相应的键,并从Properties中获取相应的价格。这也将允许您不硬编码的价格和颜色。您可以在html中创建下拉列表,然后使用javascript填充它。您可以在java文件中拥有属性文件读取逻辑,该文件可以在javascript中引用。
您的属性文件可能看起来像这样:
galvalume=14.70
galvanized=13.35
希望有帮助!
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- 如何在AngularJS中有效地检查日期是否有效
- 有效地获取两个区间之间的随机整数
- 如何在three.js中有效地使用TraingleStripDrawMode
- 如何有效地创建多维javascript数组
- 如何有效地将Float32Array插入Float32Array
- 如何有效地匹配两个不同 JavaScript 对象上的 id,并将它们合并在一起
- Javascript画布:如何有效地计算两个画布的距离
- 有效地串行化(并从nodejs读取)int数组
- 我怎样才能更有效地获取这个数字
- 我如何创建一个Chrome应用程序,有效地充当信息亭模式下的启动页面
- Javascript函数可以更有效地处理并发异步函数
- 如何更有效地重写
- 如何或如何使用firebase有效地处理错误
- 如何在Angular中有效地检测元素点击
- 有效地在A和B之间选择元素
- 如何有效地随机选择数组项而不重复
- 有效地将24k个条目加载到选择列表中
- 如何根据多个用户选择有效地定义变量