2013-12-13 73 views
0

我有一個固定成本的小表格,根據他們的運輸地點和多少個托盤。根據選擇框選項乘以一個值

例如英國區1至法國區1 = 20 此外英國3區法國區4 = 68

var values = [ 
     [20,25,35,40], 
     [36,42,50,56], 
     [42,56,52,68], 
     [60,70,68,72] 
    ]; 

我想要現在做到的,是如何將我乘上總價值。

因此,例如,如果用戶選擇了英國第1區到法國去1區即£= 20個產品

但是如果他們從選擇框中選擇2的總成本,現在應該是£40

這裏就是我得,但我不能讓它的工作

function updateValue() { 
     var fromCountry = document.querySelector('input[name="from_country"]:checked').value; 
     var toCountry = document.querySelector('input[name="to_country"]:checked').value; 

     var totalValues = values[fromCountry-1][toCountry-1]; 
     var fixValues = document.querySelector('select[name="number"]'); 
     var n = parseInt(fixValues.val(), 10); 

     if(fromCountry && toCountry) { 
      document.getElementById('cost').value = (totalValues * n); 
     } 
    } 

完全小提琴這裏 - http://jsfiddle.net/barrycorrigan/ZXHbq/3/

幫助迫切需要: - )

+0

你爲什麼帶爲'document.querySelector toCountry'的'值( '..')value'和'fixValues'作爲。 'document.querySelector('..')。val()'? – Tibos

+0

您的小提琴不包含要測試的整個代碼。 – melancia

+0

我不確定是否誠實。我正在處理這個例子 - http://jsfiddle.net/wdm954/enKV6/我可能會離開.. –

回答

1

val()是jQuery函數。由於您不使用jQuery,請使用fixValues.value。並且不要忘記撥打電話updateValue(),這在您的小提琴中不見了。

+0

完美!謝謝.. –

0

這是我用得到它的工作代碼:

function updateValue() { 
     var fromCountry = document.querySelector('input[name="from_country"]:checked').value; 
     var toCountry = document.querySelector('input[name="to_country"]:checked').value; 

     var totalValues = values[fromCountry-1][toCountry-1]; 
     var fixValues = document.querySelector('select[name="number"]'); 
     var n = parseInt(fixValues.value, 10); 

     if(fromCountry && toCountry) { 
      document.getElementById('cost').value = (totalValues * n); 
     } 
    } 
+0

任何人都不知道爲什麼這個計算不能在IE8中工作。我認爲這只是爲了處理:checked僞類。但是當我拿出這個計算不起作用[http://redhead-int.com/rednet/daily-pallet-service.php](http://redhead-int.com/rednet/daily-pallet-service。 PHP) –

相關問題