我正在为一家公司网站编写一个程序,该程序将允许他们在电话上进行报价,这个过程他们已经手工完成了一段时间。他们卖的东西之一是屋顶的脊帽。此商品的价格由用户做出的 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 行。有没有更好的方法来根据许多不同的用户选择来定义变量?