Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2009, 20:26
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

выделить по умолчанию нужный индекс в Select
Что-то у меня не работает сабж. А почему? Не поможете разобраться?


<select name="razm" onChange="bla-bla(this.form.razm.options[this.form.razm.selectedIndex].value);this.selectedIndex=3">
	<option value="">выбрать</option>
	<option value="9px">9px</option>
	<option value="10px">10px</option>
	<option value="11px">11px</option>
	<option value="12px">12px</option>
</select>


хотелось бы, чтобы this.selectedIndex=3; ставил выделение сразу на 4-ю позицию и показывал ее.
Ответить с цитированием
  #2 (permalink)  
Старый 20.05.2009, 20:30
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

во первых, почему вы свой код поместили в onchange?
вот на это событие он и вызовется
вызывайте код например на window.onload
во вторых, что за имя функции bla-bla()?
имена функций не могут содержать дефиса
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2009, 20:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

похоже, идеальное решение следующее:
<select name="razm">
    <option value="11px">11px</option>
</select>

все остальное лишнее, все равно пользователь сможет выбрать только 3-ий пункт
Ответить с цитированием
  #4 (permalink)  
Старый 20.05.2009, 20:52
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

bla-bla написал от балды, т.к. здесь функция не важна. Спасибо, что указали на недопустимость тире в именах функций. Не знал.

Функция вызывается по onchange Select-a. Получается, я действительно указал выставить селект только по onchange, после вызова функции.

А как тогда можно записать необходимость выделения рядом? В смысле, чтобы не в теле документа, и чтобы не вызывать для этого другую специальную функцию? Типа как простой selected в HTML, но для удобства позиционируемый по Index?

Форму меняю оперативно, SELECT компоную полностью в JS, в зависимости от введенного в другом поле значения должен заново вырисовываться весь SELECT и если введенное в другом поле значение совпадает с определенным значением поля SELECT , то это значение выделяется. Это моя конечная задумка. Т.е. я хочу сказать, что window.onload здесь наверное никак не подходит.
Ответить с цитированием
  #5 (permalink)  
Старый 20.05.2009, 20:56
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

ну, тогда после того, как создаете новый SELECT, вот после этого и вызывайте функцию по выбору того или иного пункта
Ответить с цитированием
  #6 (permalink)  
Старый 20.05.2009, 20:57
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Сообщение от x-yuri Посмотреть сообщение
похоже, идеальное решение следующее:
...
Спасибо! Нет, у меня несколько иная задача: нужно, чтобы "подсвечивалось" нужное значение не "касаясь" мышкой конкретного Selekt, но и не перегружая браузер на другие емкие события. Т.е. создал динамически поле SELECT, сразу же выделил нужный пункт, вычисленный по его индексу.
Ответить с цитированием
  #7 (permalink)  
Старый 20.05.2009, 21:00
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Сообщение от Gvozd Посмотреть сообщение
ну, тогда после того, как создаете новый SELECT, вот после этого и вызывайте функцию по выбору того или иного пункта
Ой блин, я не просто новичок в JS, я еще и тупой оказывается! До такого не додумался! Gvozd, спасибо Вам большое! Сейчас попробую.
Ответить с цитированием
  #8 (permalink)  
Старый 20.05.2009, 21:08
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Ок. Все получилось. Тему можно закрывать. Большое спасибо.
Ответить с цитированием
  #9 (permalink)  
Старый 20.05.2009, 21:14
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

только не функцию, а что-то типа select.selectedIndex = ..., причем не в обработчике onchange
а то у меня сложилось впечатление, что нужно select.onchange вызвать, а внутри все тот же this.selectedIndex = ...
Ответить с цитированием
Ответ



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

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