2015-06-09 59 views
0

我試圖做一個簡單的腳本與網頁零售商 - 我們有三個水果 - AppleBananaOrange的JavaScript,HTML表單和數組算術

兩個性質每個 - 蘋果(善惡) ,香蕉(壞&好)和橙色(壞和好)...在所有情況下質量差。

所以我有兩個質量選項 - 好的和壞的

數量從1到10

我做了這樣的事情有數組,但它僅適用於兩個可變不是三個。最後的結果,我要的是 -

我選擇蘋果>好> 5個單位= 5 * 4 = 20

表格選項 - 選擇(蘋果,香蕉,橘子),選擇(好的,壞的),選擇(數量單位)

這裏是我做了什麼

costperfruit = new Array(4,5,6, 7,8,9); 

    function setcost() 
    { 
     cpp = costperfruit[document.frm.colour_fruit.value*1-1]; 
     sum = cpp*document.frm.numberUnits.value; 
     sum += ""; 
     pos = sum.indexOf("."); 
     if (pos>0) 
     { 
      sum = sum.substring(0,pos+3); 
      if (sum.indexOf(".")+3>sum.length) 
       sum += "0"; 
     } 
     else 
      sum += ".00"; 

     document.frm.cost_per_fruit.value = cpp; 
     document.frm.total_sum.value = sum; 
    } 

有了這個,我可以很容易繁殖的單位數與水果的成本。綠色選擇是在每種情況下質量低劣因而售價爲3,5,7,一美元不到紅,黃,橙紅色

我希望看到價格時,我選擇 -

橙色>壞> 3 = 7 * 3 = 21 apple> bad> 4 units> 3 * 4 = 12

我在HTML中使用選擇表單。

回答

1

您的解決方案可以工作,但很難維護它。我建議你使用一些數據結構來存儲產品價格:

var prices = { 
    "apple": { 
     "good": 4, 
     "bad": 5 
    } 
    "banana": { 
     "good": 6, 
     "bad": 7 
    } 
    "orange": { 
     "good": 8, 
     "bad": 9 
    } 
} 

然後,如果你想選擇的價格爲您只需使用特定項目:

prices["apple"]["bad"] 
+0

讓我運行它,並嘗試在我的HTML標記的解決方案來解決。一定會讓你知道。我已經很少使用JavaScript了。 – analytics3345

0

上述擴展在suvroc的建議下,我加入了一點點的代碼來處理對象文字。

看看下面的小提琴,看看它是否有幫助。

https://jsfiddle.net/f79vj0s3/

注意,我改變了對象:

// Object Literal 
var produce = { 
    "Apple": { 
     "good": 
      { 
      "qty" : 5, 
      "cost" : 2 
      }, 
     "bad": 
      { 
      "qty" : 3, 
      "cost" : 1 
      } 
    }, 
    "Banana": { 
     "good": 
      { 
      "qty" : 6, 
      "cost" : 3 
      }, 
     "bad": 
      { 
      "qty" : 4, 
      "cost" : 2 
      } 
    }, 
    "Orange": { 
     "good": 
      { 
      "qty" : 5, 
      "cost" : 3 
      }, 
     "bad": 
      { 
      "qty" : 3, 
      "cost" : 1 
      } 
    } 
};