20.05.2009, 20:26
|
Аспирант
|
|
Регистрация: 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-ю позицию и показывал ее.
|
|
20.05.2009, 20:30
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
во первых, почему вы свой код поместили в onchange?
вот на это событие он и вызовется
вызывайте код например на window.onload
во вторых, что за имя функции bla-bla()?
имена функций не могут содержать дефиса
|
|
20.05.2009, 20:43
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
похоже, идеальное решение следующее:
<select name="razm">
<option value="11px">11px</option>
</select>
все остальное лишнее, все равно пользователь сможет выбрать только 3-ий пункт
|
|
20.05.2009, 20:52
|
Аспирант
|
|
Регистрация: 14.05.2009
Сообщений: 30
|
|
bla-bla написал от балды, т.к. здесь функция не важна. Спасибо, что указали на недопустимость тире в именах функций. Не знал.
Функция вызывается по onchange Select-a. Получается, я действительно указал выставить селект только по onchange, после вызова функции.
А как тогда можно записать необходимость выделения рядом? В смысле, чтобы не в теле документа, и чтобы не вызывать для этого другую специальную функцию? Типа как простой selected в HTML, но для удобства позиционируемый по Index?
Форму меняю оперативно, SELECT компоную полностью в JS, в зависимости от введенного в другом поле значения должен заново вырисовываться весь SELECT и если введенное в другом поле значение совпадает с определенным значением поля SELECT , то это значение выделяется. Это моя конечная задумка. Т.е. я хочу сказать, что window.onload здесь наверное никак не подходит.
|
|
20.05.2009, 20:56
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
ну, тогда после того, как создаете новый SELECT, вот после этого и вызывайте функцию по выбору того или иного пункта
|
|
20.05.2009, 20:57
|
Аспирант
|
|
Регистрация: 14.05.2009
Сообщений: 30
|
|
Сообщение от x-yuri
|
похоже, идеальное решение следующее:
...
|
Спасибо! Нет, у меня несколько иная задача: нужно, чтобы "подсвечивалось" нужное значение не "касаясь" мышкой конкретного Selekt, но и не перегружая браузер на другие емкие события. Т.е. создал динамически поле SELECT, сразу же выделил нужный пункт, вычисленный по его индексу.
|
|
20.05.2009, 21:00
|
Аспирант
|
|
Регистрация: 14.05.2009
Сообщений: 30
|
|
Сообщение от Gvozd
|
ну, тогда после того, как создаете новый SELECT, вот после этого и вызывайте функцию по выбору того или иного пункта
|
Ой блин, я не просто новичок в JS, я еще и тупой оказывается! До такого не додумался! Gvozd, спасибо Вам большое! Сейчас попробую.
|
|
20.05.2009, 21:08
|
Аспирант
|
|
Регистрация: 14.05.2009
Сообщений: 30
|
|
Ок. Все получилось. Тему можно закрывать. Большое спасибо.
|
|
20.05.2009, 21:14
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
только не функцию, а что-то типа select.selectedIndex = ..., причем не в обработчике onchange
а то у меня сложилось впечатление, что нужно select.onchange вызвать, а внутри все тот же this.selectedIndex = ...
|
|
|
|