Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Предыдущее значение select 
:(
    Опции темы
nikolski
Дата 21.12.2011, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 28.12.2010

Репутация: нет
Всего: нет



Доброго времени суток!

Имеем на странице фильтр (несколько селектбоксов), на который подвешен обработчик onChange(). В самом обработчике задается вопрос о том, действительно ли пользователь хочет поменять данные? И если он отвечает отрицательно, но надо вернуть старое значение.
Каким образом это можно сделать? Как можно узнать старое значение?

Код

function processFilterChanging(obj) {
     
        // var lastValue = ??;
     
        if (needFilterCheck == true) {
            var tsProjectsRow = dojo.query(".time_sheet_row");
            if (tsProjectsRow.length > 0) {
                if (!confirm("Данные на закладке 'Проекты' еще не записаны. Вы уверены?")) {
                    // obj.value = lastValue;
                }
            }
     
            var tsProjectsRow = dojo.query(".time_sheet_row_pre");
            if (tsProjectsRow.length > 0) {
                if (!confirm("Данные на закладке 'Пресейлы' еще не записаны. Вы уверены?")) {
                    // obj.value = lastValue;
                }
            }
        }
    }


Спасибо! Буду рад как конкретному решению, так и направлению куда рыть.
PM MAIL   Вверх
ksnk
Дата 21.12.2011, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата(nikolski @  21.12.2011,  08:31 Найти цитируемый пост)
Имеем на странице фильтр (несколько селектбоксов), на который подвешен обработчик onChange().

Один и тот-же обработчик? Ставиться он так - 'onchange=processFilterChanging(this)'  ?


Цитата(nikolski @  21.12.2011,  08:31 Найти цитируемый пост)
надо вернуть старое значение.

В onchange его неоткуда взять, оно уже изменилось. Его надо где-то заранее сохранить.

Для простоты, можно вызвать все обработчики onchange при старте. Так как никаких изменений еще не было сделано, все они тикнут без особой пыли и шума. На jQuery это делается примерно так $('select').trigger('change') В dojo, вероятно, как-то так-же...
Код

function processFilterChanging(obj) {

       if(obj && obj.options && typeof(obj._lastValue)=='undefined')
             obj._lastValue = obj.options[obj.selectedIndex].value;

     
       ...

    }


Таким образом в каждом объекте будет сохранено его стартовое значение. 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.