我正在处理一个基本的订单表格,我想看看我是否可以从stratch构建它。
我有一个表格,该表格由列出了12个项目的表格和项目数量的文本输入字段组成。我想要做的是让代码在表单中运行以检查已输入的任何数量,然后将这些值与数组中的价格联系起来。
到目前为止,我有阵列:
var juicePrice = new Array();
juicePrice["citrusZing"]=20.00;
juicePrice["strawberrySmooth"]=22.00;
juicePrice["carrotSpin"]=21.50;
juicePrice["Tropical"]=20.75;
...
以及贯穿表单的方法:
calculateTotal()
{
var juiceForm = document.forms["juiceform"];
//Get a reference to the juice the user Chooses name=selectedJuiceQty":
var selectedJuiceQty = juiceForm.elements["selectedJuiceQty"];
for(var i = 0; i < selectedJuiceQty.length; i++);
但我不太确定如何连接表单中的信息来计算总数。谁能指出我正确的方向?是这样的吗?
for(var i = 0; i < selectedJuiceQty.length; i++){
var juiceTotal = 0;
if(selectedJuiceQty[i]>0) {
juiceTotal += juicePrice[selectedJuiceQty[i].value]*selectedJuiceQty;
//If we get a match then we break out of this loop
break;
}
return total;
}
是否可以为每个字段使用相同的名称标签,或者我应该只为每个项目使用citrusZingQty = parseInt(document.getElementById("citrusZing").value);
?然后我必须列出所有项目,这似乎不是一个非常优雅的方式。如果选择多个项目会发生什么?
任何人都可以帮助我指出正确的方向将会很棒。
答案 0 :(得分:1)
所以你可以做你想做的事。迈克尔在评论中指出了这一点,但它可能被忽略了。
var myPrices = new Object();
myPrices['eggs'] = 1.50;
myPrices['bread'] = 1.00;
// ...
然后,您可以遍历表单字段并检查“myPrices”对象。
修改
要在评论中回答您的问题 - 我不会对所有输入字段使用相同的名称。它确实可以使表单更容易循环。但是,在我看来,使用输入标记的id / class并不是一个很好的解决方案。 HTML id / class用于CSS / Javascript操作,并使用它来识别输入代表哪些水果对于项目的其他开发人员来说不明显(我意识到这可能是一个小项目,但最好不要启动任何陋习)。我会在它代表的果汁/饮料之后命名每个输入。