2014-12-29 84 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>