2015-09-15 49 views
0

此切換語句有什麼問題?值我會從一個選擇菜單,選項/值是1或2。輸入字段不斷顯示來選擇這只是「1」時,它應該是「$ 1500」在Javascript中切換語句無法切換

$('[name="costfield"]').change(function(){ 
    var cost = this.value; 
    switch(cost){ 
     case 1: 
      cost = "$1500"; 
      break; 
     case 2: 
      cost = "$2500"; 
      break; 

    } 
    $('#exampleInputEstimate1').val(cost); 
}); 
+0

你有沒有嘗試調試你的'cost'變量來檢查它的價值呢? –

回答

0

當您檢索值輸入,你會得到字符串,即'1'或'2'。 因此,你必須解析它作爲一個整數或浮點數:

替換:

var cost = this.value; 

與:

var cost = parseInt(this.value, 10); 

另一解決方案將是枚舉的字符串在開關/情況下,因爲它已經指出:

switch(cost){ 
    case '1': 
     cost = "$1500"; 
     break; 
    case '2': 
     cost = "$2500"; 
     break; 
    default: 
     break; 
} 

順便養成習慣在開關語句中寫入默認情況

0

switch聲明使用嚴格比較根據MDN

爲了適當的使用,我建議在這種情況下使用字符串。

0

的情況下語句中使用的字符串 - https://jsfiddle.net/3ujg7kr8/

$('[name="costfield"]').change(function(){ 
    var cost = this.value; 

    switch(cost){ 
     case '1': 
      cost = "$1500"; 
      break; 
     case '2': 
      cost = "$2500"; 
      break; 

    } 

    $('#exampleInputEstimate1').val(cost); 
});