Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2010, 14:34
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Как заставить работать .change для <select> где-то, кроме оперы?
По событию .chage я подгружаю и вывожу координаты выбранного человека... Когда из списка выбирают мышкой, то все хорошо, но если начинают листать с помощью клавиатуры, то во всех браузерах, кроме Opera ничего не происходит. Вот страничка, чтоб глянуть нерабочее событие.
Смотреть пункт МЕНЕДЖЕР. Пролистывание стрелочками неработает. Помогите, пожалуйста...
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2010, 15:06
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Этот скрипт удаляет изменения на стрелках и в Опере. По-моему не оч. клевое решение. Никто не знает более красивого решения?
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2010, 17:40
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Не очень красиво т.к. на скорую руку писал, но функционал вроде бы этот нужен:

<script type="text/javascript">
window.onload = function() {
    var menu = document.getElementById("menu");
    var select = menu.getElementsByTagName('select');
    var div = menu.getElementsByTagName('div')[0];
    for(i=0; i<select.length; i++){
		select[i].onkeyup = function(){
			div.innerHTML = this.options[this.selectedIndex].value;
		};
		select[i].onchange = function(){
			div.innerHTML = this.options[this.selectedIndex].value;
		};
    }
};
</script>
<div id="menu">
	<form action="" method="get">
	    <select>
		<option value="">Выберите менеджера</option>
		<option value="Телефон: +01<br />Email: manager@1.dn.ua">Юля</option>
		<option value="Телефон: +02<br />Email: manager@2.dn.ua">Вася</option>
		<option value="Телефон: +03<br />Email: manager@3.dn.ua">Дима</option>
		<option value="Телефон: +04<br />Email: manager@4.dn.ua">Петя</option>
	   </select>
	</form>
	<div></div>
</div>

Последний раз редактировалось monolithed, 09.10.2010 в 17:43.
Ответить с цитированием
  #4 (permalink)  
Старый 09.10.2010, 22:02
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Реализовал все гораздо проще:
$(".manager").keyup(function(e){
		if (e.keyCode>=37 && e.keyCode<=40) {
		  // мой обработчик для .change()
		}
	});

Но за идею спасибо!
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 19:48
Как заставить работать событие onLoad для embed slim-v Events/DOM/Window 0 16.09.2010 14:07
как заставить jQuery работать с переменными gooody jQuery 1 19.02.2010 12:10
Как заставить работать оперу и мозилу? SDone AJAX и COMET 6 25.02.2009 15:05