Выпадающий список Javascript - PullRequest
1 голос
/ 22 февраля 2011

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

Спасибо

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

Поместите мета-переменную в объект ul или ol, который является индексом последнего выбранного элемента, чтобы при повторном переходе к элементу вы могли просто снова запросить это свойство и, предварительно, вы знаете индекс последнего выбранного элемента.item.

Распространенным способом размещения мета-переменной внутри объекта является добавление класса к последнему элементу, который был выбран с помощью javascript, а затем поиск элемента списка с этим классом, когда вы хотите увидеть, какой из них былвыбран.Я вижу JQuery пользователей, делающих это много (кстати, вы должны использовать JQuery, чтобы помочь со всем вашим javascript).

Например, чтобы отметить последний элемент как выбранный:

$('ul li:last').addClass('selected');

Затем, чтобы найти его снова:

$('ul li.selected')

На самом деле это довольно простой способ отслеживания такого рода кода.

1 голос
/ 22 февраля 2011

Нет, это невозможно, но вы можете использовать переменную внутри события onchange, которая отслеживает предыдущий выбор

Пример:

var previousSelected;
function track(d){
  if(typeof previousSelected != 'undefined'){
    alert("Previous selected value " + previousSelected );
  }
  previousSelected = d.selectedIndex;
  alert("selected value " + d.selectedIndex); 
}
0 голосов
/ 22 февраля 2011

У вас может быть глобальная переменная javascript, которая будет отслеживать это значение.Таким образом, когда событие изменения инициируется, вы получите новое значение и старое.Затем вы обновите глобальную переменную новым значением.

Вот пример псевдокода:

var selectedValue = '';
document.getElementById('someId').onchange = function() {
    var newValue = this.value;

    // TODO: compare with the old value

    selectedValue = newValue;
};
...