| 
 предыдущее значение select Доброго времени суток! Имеем на странице фильтр (несколько селектбоксов), на который подвешен обработчик 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;
			}
		}
	}
}
Спасибо! Буду рад как конкретному решению, так и направлению куда рыть. | 
| 
 можно так,  это на jquery - на dojo можно переделать 
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<title>demo</title>
	<script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>
	<script> 
	$(function(){
		var jSelect = $('select'),
			oldVal = jSelect.val();
		jSelect.change(function () {
			if (!confirm("Поменять данные")) {
				$(this).val(oldVal); // возврат старого значения
			}
			oldVal = $(this).val(); // запоминаем текущее
		});
	});
	</script>
</head>
<body>
  <select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
  </select>
</body>
</html>
 | 
| 
 попробовал на dojo - знаю плохо если у select установлен атрибут multiple надо будет доработать 
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<title>demo</title>
	<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js.uncompressed.js'></script>
	<script>
		dojo.ready(function() {
			var dSelect = dojo.query('select'),
				oldIndex = dSelect[0].selectedIndex;
			dSelect.onchange(function () {
				if (!confirm("Поменять данные")) {
					this.selectedIndex = oldIndex; // возврат старого значения
				}
				oldIndex = this.selectedIndex; // запоминаем текущее
			});
		});
	</script>
</head>
<body>
  <select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
  </select>
</body>
</html>
 | 
| 
 nikolski, Вариант ... 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
 <select  name="fg" onchange="fn()"   >
<option value="zero" >- выберите -</option>
<option value="aaa" >aaa</option>
<option value="bbb" >bbb</option>
<option value="ссс" >ccc</option>
<option value="ddd" >ddd</option>
</select>
<script  type="text/javascript">
var fn = function () {
        var a = document.getElementsByName("fg")[0],
            b = a.options[a.selectedIndex||0].value;
        return function () {
            return confirm("Вы уверены") ? b = a.value : a.value = b
        }
    }();
</script>
</body>
</html>
 | 
| 
 Спасибо, попробую! | 
| 
 Вопрос к знающим  (задал здесь, т.к. близко к теме) в http://learn.javascript.ru/tutorial/form-elements в разделе 'select' есть фраза 'Элементы типа select ....... поддерживают свойство value, но только на чтение. ' это опечатка ? | 
| 
 Pavel M., value селекта можно установить только из имеющихся value его options, в некоторых браузерах например Mozilla Firefox при отсутствии у options value значение ищется среди options = > text, если подходящее для установки значение ненайдено обычно остаётся прежнее значение или пусто. | 
| Часовой пояс GMT +3, время: 17:15. |