2014-12-29 112 views
0

我想設置圖層的價值要麼設置無關隱藏的表單值

GFS天氣圖表3天STD或 WRF 20全球天氣圖表3天標準

基礎上,下拉菜單的選擇

  <div><select id="myselect" class="productViewerParameter" name="MODEL"" onchange="changeHiddenInput(this)"> 


     <option value="GFS">GFS</option> 
     <option value="WRF 20km Global">WRF</option> 

    </select> 


<script>       
function changeHiddenInput(mySelect) { 

    var e = document.getElementById("myselect"); 
    var strUser = e.options[e.selectedIndex].text; 

    if (strUser == "GFS"){ 
     var layersInput = document.getElementByName("Layers"); 
     Layers.value = "GFS Meteogram 3day Std"; 
} else if (strUser == "WRF") { 
     var layersInput = document.getElementByName("Layers"); 
     Layers.value = "WRF 20 Global Meteogram 3day Std"; 

} 
} 
</script> 

</div>      

<div><input type="hidden" name="DURATION" value="3-Day"></div> 

<div><input type="hidden" id="hiddenInput" name="Layers" value=""></div> 
+1

你應該清楚什麼是你的問題,不僅發佈您的代碼,所以我們必須想..也泰蕾茲一個右括號丟失在您否則,如果 – bish

+0

此外...設置「變種E =文件。 getElementById(「我的選擇」);「在功能上是多餘的。你已經通過「this」參考傳入了它。 –

+0

是的,我可以在其他兩個上面設置var。當我運行這個Layers.value仍然是「」 – kschneider

回答

0

這裏是updated/working代碼:

注:

1)name="MODEL""應該name="MODEL",你誤入兩個雙引號。

2)你已經得到this,所以你可以使用this,而不是再次得到select元素。

3)什麼我得到的是,你要設置hiddenInput值,所以Layers.value應該是layersInput.value

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 
    <div> 
     <select id="myselect" class="productViewerParameter" name="MODEL" onchange="changeHiddenInput(this)"> 
      <option value="GFS">GFS</option> 
      <option value="WRF 20km Global">WRF</option> 
     </select> 
    </div> 
    <div> 
     <input type="hidden" name="DURATION" value="3-Day"> 
    </div> 
    <div> 
     <input type="hidden" id="hiddenInput" name="Layers" value=""> 
    </div> 
</body> 
<script>       
function changeHiddenInput(mySelect) { 
    var strUser = mySelect.options[mySelect.selectedIndex].text; 
    var layersInput = document.getElementById("hiddenInput"); 
    if (strUser == "GFS"){ 
     layersInput.value = "GFS Meteogram 3day Std"; 
    } 
    else if (strUser == "WRF") { 
     layersInput.value = "WRF 20 Global Meteogram 3day Std"; 
    } 
} 
</script> 
</html>