Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Элемент select, событие change (https://javascript.ru/forum/jquery/28622-ehlement-select-sobytie-change.html)

an.semionov 27.05.2012 12:16

Элемент select, событие change
 
Подскажите, пожалуйста, как получить значение, которое было до наступления события change?

$('#countriesListPanel').on('change', 'select[name]', function(event){
/*код*/				
});

bot87 27.05.2012 22:55

интересно :(

melky 27.05.2012 23:06

Цитата:

Сообщение от an.semionov
Подскажите, пожалуйста, как получить значение, которое было до наступления события change?

никак, если не сохранять его самому. как-нибудь так :
var last; // тут будет старое значение

$('#countriesListPanel').on('change', 'select[name]', function(event){
    if (last) { // фильтруем первый запуск.
    /*код*/           
    }
    last = this.value // или что там.
}).trigger("change"); // порождаем ложное событие изменения. чтобы заполнить переменную last.

observer 28.05.2012 00:19

Цитата:

Сообщение от melky (Сообщение 177048)
никак, если не сохранять его самому

Что за глупости вы говорите?

var selectElement = document.getElementById("countriesListPanel");
console.log(selectElement.options[selectElement.selectedIndex].value);

melky 28.05.2012 00:37

Цитата:

Сообщение от observer (Сообщение 177070)
Что за глупости вы говорите?

var selectElement = document.getElementById("countriesListPanel");
console.log(selectElement.options[selectElement.selectedIndex].value);

Возможно, я и сглупил, но тогда Вы ответьте на вопрос ТС - о том, как иметь на момент обработки события change старое значение элемента.

observer 28.05.2012 00:40

Цитата:

Сообщение от melky (Сообщение 177074)
Возможно, я и сглупил, но тогда Вы ответьте на вопрос ТС - о том, как иметь на момент обработки события change старое значение элемента.

Я же ответил выше.

Если вы про сам процесс, то никто не мешает добавить добавление некого атрибута, например,
"attr-selected-value" для select, например, в обработчике onfocus, он предшествует, другим событиям.

Если вы хотите, чтобы я написал на jQuery, то не вижу в этом смысла. Если люди не могут работать с нативным диалектом, зачем им библиотеки-обертки?

an.semionov 31.05.2012 22:28

спасибо


Часовой пояс GMT +3, время: 12:39.