Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение checkbox'ов при помощи JS
 
 автор: Антоха   (20.12.2007 в 09:40)   письмо автору
 
 

Здраствуйте. Подскажите пожалуйста, как можно сделать, чтобы при активировании опред. checkbox'a, все остальные становились бы неактивными?
Т.е. если проще, как сделать, чтобы, например, я установил галочку на чекбоксе "Не использовать типы" и все остальные чекбоксы автоматически стали неактивны?

   
 
 автор: ddhvvn   (20.12.2007 в 10:51)   письмо автору
 
   для: Антоха   (20.12.2007 в 09:40)
 

Если id типа checkbox1, checkbox2... и т.д. то так:

//вместо 4 поставьте Ваше кол-во
for (i=1; i<=4; i++)
{
  document.getElementById("checkbox"+i).disabled=true;
}
document.getElementByd("checkbox2").disabled=false;

Вроде должно работать...

   
 
 автор: sim5   (20.12.2007 в 11:01)   письмо автору
 
   для: ddhvvn   (20.12.2007 в 10:51)
 

Нет, не будет.

   
 
 автор: ddhvvn   (20.12.2007 в 11:02)   письмо автору
 
   для: sim5   (20.12.2007 в 11:01)
 

Почему? В ИЕ и ФФ проверил, работает..

   
 
 автор: sim5   (20.12.2007 в 11:14)   письмо автору
 
   для: ddhvvn   (20.12.2007 в 11:02)
 

Ну как я понял, отметили чекбокс №3, например, и он один остался активным, а остальные с 0 по 2, и с 4 по N, должны стать неактивными. В вашем же коде не видно такого, т.е. номер чекбокса 2 должен передаваться в функцию, а то с чего он вдруг прописан у вас?

   
 
 автор: ddhvvn   (20.12.2007 в 11:34)   письмо автору
 
   для: sim5   (20.12.2007 в 11:14)
 

я просто дал набросок, ест-но это лучше организовать в функцию... но по-моему автору не это нужно...

   
 
 автор: Антоха   (20.12.2007 в 14:15)   письмо автору
 
   для: ddhvvn   (20.12.2007 в 11:34)
 

Спасибо сделал. Правда у меня это не работает в Firefox'e. Я тут попробовал заменить getElementById на document.all и вроде заработало. Получилось что-то типа:

<script language='javascript'>
  function check() {
    if(document.all("ch1").disabled == true) foo(false);
    else foo(true);
  }
  function foo(flag) {
    for(i = 1; i <= 4; i++) document.all("ch" + i).disabled = flag;
    document.all("ch0").disabled = false;
  }
</script>
<form>
<input type='checkbox' name='ch0' value='0' onClick="check()"><br><br>
<input type='checkbox' name='ch1' value='1'><br>
<input type='checkbox' name='ch2' value='2'><br>
<input type='checkbox' name='ch3' value='3'><br>
<input type='checkbox' name='ch4' value='4'>
</form>

Не знаю конечно, как будет в других версиях разных браузеров, но лично у меня в Опере, ИЕ и Firefox работает.

Еще раз спасибо за помощь...

   
 
 автор: sim5   (20.12.2007 в 14:19)   письмо автору
 
   для: Антоха   (20.12.2007 в 14:15)
 

А если щелкнуть чекбокс отличный от первого, тогда ничего работать не будет, или так и должно?

   
 
 автор: ddhvvn   (20.12.2007 в 16:16)   письмо автору
 
   для: sim5   (20.12.2007 в 14:19)
 

Как я понял автору именно это и нужно!

   
 
 автор: Антоха   (20.12.2007 в 16:47)   письмо автору
 
   для: sim5   (20.12.2007 в 14:19)
 

>sim5
>А если щелкнуть чекбокс отличный от первого, тогда ничего работать не будет, или так и должно?

Ага, так и должно быть. Просто мне нужен один единственный чекбокс, который будет запрещать 6 других, если они мне не нужны.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования