Показать сообщение отдельно
  #12 (permalink)  
Старый 06.09.2010, 17:18
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Ребята, апну тему.
Добавил условие (if (event.keyCode === 38)), что б скрипт работал только тогда, когда нажата клавиша UP (сделано для того, что бы можно было вносить новые значения в БД, ибо без этого условия сделать невозможно - скрипт автоматом подставляет только то, что есть в селекте).
Возникла следущая проблема: регистр символов. Т.е. если вводить "новос.." скрипт не работает. В селекте есессно все названия с большой буквы. Как побороть ?
<script type="text/javascript"> 
	    document.getElementById( 'a' ).onkeypress = function ( e ) { 
	        if ( (e = e || window.event).keyCode !== 8 ) { 
			  if (event.keyCode === 38) {
	        	var sel = document.getElementById( 's' ).getElementsByTagName( 'option' ), 
	       	    city = '', find = 0; 
	       		    for ( var i = 0; i < sel.length; i++ ) { 
	           			 if ( this.value.length && sel[i].value.indexOf( this.value ) === 0 ) city = sel[i].value, find++; 
	                } 
	                     if ( find === 1 ) this.value = city, e.preventDefault ? e.preventDefault() : (e.returnValue = false); 
			  }
		   } 
	    } 
	</script>
Ответить с цитированием