JavaScript中的html选择更改事件不会返回所需的值

时间:2014-09-16 14:11:38

标签: javascript

我一直在互联网上搜索可能的解决方案,但我找不到可能的解决方案。我有一个下拉列表。

<select  id="module-box" onchange="myFunction()">
                        <option value="">Select status</option>
                        <option value="1">Pending</option>
                        <option value="2">Approved</option>
                        <option value="3">Denied</option>
                        <option value="4">All</option>
</select>

这是我的javascript     

function myFunction() {
    var x = document.getElementById("module-box").value;
     if(x==1){
        window.location = "/pending";
     }
     else if(x==2){
        window.location = "/approved";
     }
     else if(x==3){
        window.location = "/denied";
    }
     else if(x==4){
        window.location = "/list";
     }
}

一旦选择,它将转到指定的url,但组合框的值将返回值0.您是否有任何想法使组合框的选定值保留?感谢。

2 个答案:

答案 0 :(得分:0)

您可以在查询字符串中使用某些项目,在页面加载时,检查该项目的值并相应地设置组合框的选定项目。

答案 1 :(得分:0)

请参阅以下更正的代码:

var select_element = document.getElementById('module-box');

select_element.onchange = function(e){
    if (!e)
        var e = window.event;
    var svalue = this.options[this.selectedIndex].value;
      if(svalue==1){
        window.location = "/pending";
     }
     else if(svalue==2){
        window.location = "/approved";
     }
     else if(svalue==3){
        window.location = "/denied";
    }
     else if(svalue==4){
        window.location = "/list";
      }
}

点击DEMO

的此链接