2016-04-24 2 views
1

フィルタのドロップダウンメニューをクリックして「価格高低」を選択すると、商品を価格順に表示することができますが、オプションを選択しても何も起こらず、ページ同じまま。手動でリンクを入力すると、つまりmain.php?sort=nameとなります。価格ドロップダウンメニューによるWebページのソート

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は、しかし、あなたのsortmenu変数がdocument.getElementById('menu')として定義されている、ではないmenudropですが、あなたのコードでmenuと呼ばれるIDがありません。

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

はまた、あなたがこれを変更することができ、この中

だからこれを解決するために、これを変更...

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

... ... ...

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

...これに...

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

基本的には、select要素のidの名前を変更するか、getElementById関数のid名を変更します。

関連する問題