2016-04-24 46 views
1

当我点击过滤器下拉菜单,并选择即'价格高 - 低'我希望它显示价格的顺序产品,但是当我选择任何选项时什么也没有发生,页面保持不变。如果我手动键入链接,即main.php?sort=name那么这个工作。网页按价格下拉菜单不工作

HTML:

<select name="menu" id="drop"> 
    <option>-- Select a filter --</option> 
    <option value="main.php?sort=name">Name A - Z</option> 
    <option value="main.php?sort=pasc">Price Low-High</option> 
    <option value="main.php?sort=pdesc">Price High-Low</option>  
</select> 

JS:

var sortmenu = document.getElementById('menu'); 
sortmenu.onchange = function() { 
    window.open(this.options[ this.selectedIndex ].value, "_self"); 
}; 
+0

我做了一个主要的编辑只保留相关的位。如果你觉得我错过了什么,请随时回滚,在这种情况下,对不起:) – webeno

回答

1

你的选择菜单的id是dropmenu,但是你sortmenu变量定义为document.getElementById('menu'),但没有ID在你的代码中调用menu

因此,要解决这个问题,改变了...

var sortmenu = document.getElementById('menu'); 

...这个...

var sortmenu = document.getElementById('drop'); 

或者你可以改变这一点...

<select name="menu" id="drop"> 

...进入此...

<select name="menu" id="menu"> 

基本上,您可以重命名select元素的id,或更改getElementById函数中的id名称。