2016-04-24 3 views
1

Wenn ich auf das Filter-Dropdown-Menü klicke und zB "Preis hoch - niedrig" wähle, möchte ich die Produkte in der Reihenfolge des Preises anzeigen, aber wenn ich irgendeine Option auswähle, passiert nichts Bleibt das selbe. Wenn ich die Verbindung manuell eintippe, d. H. main.php?sort=name, dann funktioniert das.Webseite nach Preis sortieren Dropdown-Menü funktioniert nicht

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

Ich machte einen großen Schnitt nur die relevanten Bits zu halten. Wenn du denkst, dass ich etwas verpasst habe, kannst du zurückrollen, und in diesem Fall, tut mir leid :) – webeno

Antwort

1

Ihre Auswahlmenü id ist drop nicht menu, aber Ihre sortmenu Variable als document.getElementById('menu') definiert ist, aber es gibt keine id menu in Code aufgerufen .

Also dieses Problem zu beheben, dies ändern ...

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

... in diese ...

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

Alternativ Sie dies ändern könnte ...

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

... in diese ...

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

Grundsätzlich benennen Sie entweder die ID des Auswahlelements um oder ändern den ID-Namen in der getElementById-Funktion.

Verwandte Themen