Reputation: 213
How do I make the selected option stay after link? I am using the value as href and when it loads it just returns to all. What should I do to lock the option value?
Here is my select code:
echo ($AppUI->_("Company tickets:") . '<select id="my-select2" name="currentComp">');
echo ('<option value="?m=ticketsmith"/>All') ;
foreach ($rows as $row) {
if (in_array($row['company_id'], $array1)) {
echo ('<option value="?m=ticketsmith&ticket_company=' . $row['company_id'] . '" />' . $row['company_id'].', ' . $row["company_name"]) ;
}
}
And here is my JS:
document.getElementById("my-select2").onchange = function() {
localStorage.setItem('my-select2', document.getElementById("my-select2").value);
window.location.href=this.value;
}
if (localStorage.getItem('my-select2')) {
document.getElementById("my-select2").options[localStorage.getItem('my-select2')].selected = true;
}
Upvotes: 0
Views: 43
Reputation: 178350
Version 1
document.getElementById("my-select2").onchange = function() {
localStorage.setItem('my-select2', this.value);
window.location.href=this.value;
}
var val = localStorage.getItem('my-select2');
if (val) {
document.getElementById("my-select2")[val].selected=true;
}
Version 2 (recommended)
window.onload=function() {
document.getElementById("my-select2").onchange = function() {
localStorage.setItem('my-select2', this.selectedIndex);
window.location.href=this.value;
}
var selIdx = localStorage.getItem('my-select2');
if (selIdx !=null && selIdx !=-1) {
document.getElementById("my-select2").selectedIndex=selIdx;
}
}
Upvotes: 1