Javascript - Запомнить выбранный вариант - PullRequest
2 голосов
/ 13 мая 2011

У меня есть веб-страница, созданная с помощью javascript-инъекций, и на одной из моих страниц есть раскрывающийся список, показанный ниже:

html +="<select name='Sort' id='Sort' onchange='sortSwitch(document.getElementById(\"Sort\")[document.getElementById(\"Sort\").selectedIndex].value);     display(document.getElementById(\"searchQuery\").value);return false;'>\n";  
  html +="<option></option>\n";  
  html +="<option value='4'>Smallest First</option>\n";  
  html +="<option value='5'>Largest First</option>\n";  
  html +="<option value='6'>A-Z</option>\n";  
  html +="<option value='7'>Z-A</option>\n";  
  html +="</select>";  

Раскрывающийся список фильтрует информацию, отображаемую на странице, путем передачи выбранной опции функции переключенияи другая функция перезагружает эту информацию.Однако, когда страница JavaScript загружается снова, она начинается с пустой опции.

Кто-нибудь знает хороший способ запомнить последний выбранный сорт?Например, если я сортирую с помощью «Smallest First», а затем страница обновляется, в поле будет отображаться «Smallest First», как показано на пустом месте.Я знаю, что есть атрибут «опция выбрана», но мне нужно, чтобы он был динамическим.Я чувствую, что это что-то тривиальное, но, похоже, я не могу понять, как это сделать.

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 13 мая 2011

Вот статья о Cookies в JavaScript , которая содержит объяснение того, как они работают, а также функции для чтения, записи и удаления файлов cookie.

Используя эти функции, вы получите выбранное значение и напишите cookie , чтобы сохранить значение следующим образом:

var select = document.getElementById("Sort");
var selectedItem = select.options[select.selectedIndex].value;
createCookie("selectedItem",selectedItem);

затем прочитайте файл cookie , чтобы получить значение и выберите option в поле select, например:

var selectedItem = readCookie("selectedItem");
var select = document.getElementById("Sort");
select.value = selectedItem;
1 голос
/ 13 мая 2011

Вам нужно использовать куки.или некоторые переменные сеанса на стороне сервера для сохранения выбранных значений.

Я использую этот плагин cookie jQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...