|
|
|
| Есть select
<select>
<option>Выберите цифру</option>
<option>1</option>
<option>2</option>
<option>3</option>
</SELECT>
|
есть radio
1<input type=radio name=1>
2<input type=radio name=2>
3<input type=radio name=3>
|
Как сделать, что если в поле select выбранна опция "Выберите цифру",то все "радиокнопки" enabled. А если же выбраны опции "1" или "2" или "3", то все "радиокнопки" disabled?
ПЛИЗ ПОМОГИТЕ!!! | |
|
|
|
|
|
|
|
для: off
(20.10.2005 в 18:06)
| | <select onChange=if(this.selectedIndex==0){далее аналогично чекбоксам}> | |
|
|
|
|
|
|
|
для: 12345
(20.10.2005 в 20:36)
| | Та ф-ция не подходит, тк. кроме radiobutton в форме есть еще и другие input'ы... | |
|
|
|
|
|
|
|
для: off
(21.10.2005 в 18:41)
| | Ну и что? Выбираешь по классу, а не по тегу Input | |
|
|
|
|
|
|
|
для: 12345
(21.10.2005 в 20:41)
| | Чего-то не могу сообразить как это сделать. | |
|
|
|
|
|
|
|
для: off
(21.10.2005 в 23:08)
| | Тогда знаний не хватает, читай учебник. Или пробуй из того, что знаешь и читай учебник. Метод простой: пишешь то, что надо получить, проверяешь. Не работает - смотришь учебник, чтобы понять, почему. Вначале нужно уяснить функции. Вот у тебя разные имена на чекбоксах. Так надо? Как они будут выключаться? Об этом в постановке ни слова. Допустим, по onChange будем выключать. Значит, пишем onChange:
<select onChange="for(i in d.all.tags('input'))if(d.all[i].className=='g1')with(d.all[i]){disabled=!(this.selectedIndex==0);checked=!1;}">
<option>Выберите цифру</option>
<option>1</option>
<option>2</option>
<option>3</option>
</SELECT><br><br><br><br><br>
1<input class=g1 type=radio name=r1> <br>
2<input class=g1 type=radio name=r2> <br>
3<input class=g1 type=radio name=r3> <br>
<br>
|
| |
|
|
|
|
|
|
|
для: 12345
(21.10.2005 в 23:57)
| | 1) Скажи пожалуйста, где взять в инете учебник по JS (про DOM)? Или посоветуй плиз какой купить.
2) Спасибо за ответ.
Я до твоего поста я уже попробывал - у меня получилось вот так
<script>d=document;
function f(t){
for(i in d.all.tags('input')){if(d.all[i].className=='radio'){d.all[i].disabled=true;
}}}
function t(t){
for(i in d.all.tags('input')){if(d.all[i].className=='radio'){d.all[i].disabled=false;
}}}
</script>
<select name=options id=select onChange="if(this.selectedIndex!=0){f(this)}if(this.selectedIndex==0){t(this)}">
|
Но у тябя лучше и короче.
Опять проблема. Если допустим select !=0 при загрузке страницы, то все radiobutton должны быть disabled. Но этого не происходит почему-то.
P.s насчет cheched или unchecked - без разницы. Главное нужно disabled. | |
|
|
|
|
|
|
|
для: off
(23.10.2005 в 14:28)
| | Чтобы они включались при загрузке, надо писать проверку и установку в onLoad="..." или d.omload=(функция). Так как этого нет, ничего удивительного, что не включается.
Твой скрипт делает то же самое, кроме неснятия selected..
Про язык - надо знать, во-первых, основу (ядро) си-подобного программирования на JS, чтобы легко писать и понимать синтаксические конструкции. Где об этом хорошо пишут, не знаю, я в своё время это читал в документации от Нетскейпа (пдф на 4-6 Мба), где всё было обстоятельно. Может, пригодятся учебники типа http://www.edu.severodvinsk.ru/pages/syt/znai/megabook/internet/javascript/ или статьи по тонкостям понимания ядра. Но это инструмент, а применять его надо для второго - управления DOM, который хорошо описан в http://www.edu.severodvinsk.ru/pages/syt/znai/megabook/internet/dynamichtml/и аналогичной бумажной книге. Более новые и такие же толковые справки можно найти в http://xlibscripts.land.ru/jscript_doc/JavaScript/event.html (там и ядро) и новее, но с безобразным дизайном - http://offline.burik.ru/js/js/js.html . Собственно, здесь есть всё, а остальные ссылки - дублирование и варианты доходчивых изложений.
Управление в JS перекликается с CSS, который неплохо описан здесь: http://css-info.narod.ru/visual-css.html
Ещё тут, видимо, хорошо описано: http://anton-roman.narod.ru/glava14.html
Ещё тут пытались собрать справки - http://javascript.itsoft.ru/, но бросили.
Здесь: http://www.spravkaweb.ru/javascript.php | |
|
|
|