Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: 1 общий checkbox

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
DarkRevenger
Отправлено: 07 Июня, 2011 - 09:10:10
Post Id



Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Подскажите как сделать 1 общий чекбокс для всего списка элементов, ну чтобы 1 отметил и сразу отметились все.
 
 Top
SAD
Отправлено: 07 Июня, 2011 - 10:05:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




примеров в сети куча
 
 Top
zypikov
Отправлено: 07 Июня, 2011 - 18:11:54
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Помойму это лучше делать js-скриптом. Вы же, наверное, хотите что чекбоксы отмечались динамически без перезагрузки страницы? У меня такая необходимость появилась, когда я столкнулся с лентой новостей. Чтобы, допустим, выделились все новости подлежащие удалению. В сущности тут хорошо надо понимать DOM-модель страницы и никаких проблем быть не должно)) Вот пример скрипта из сети.
CODE (javascript):
скопировать код в буфер обмена
  1. // работаем со всеми checkbox на указанной форме
  2. function sd_checkbox_status(_form_name,_status,_name)
  3. // form_name - название формы
  4. // status - присвоить статус; 0 - все отменить. 1 - всем включить; 2 - поменять местами
  5. // name - имя checkbox`s (чекбоксов)
  6. { // делаем короткий объект для обращений к форме
  7.  var f=document.getElementById(_form_name);
  8.  var name_='';
  9.  var str='';
  10.  name_=(typeof(_name)=='undefined')?'del':_name;// служит для сокращения писанины на формах
  11.  for (i=1;i<=f.length;i++)// пройтись по всем элементам на HTML форме
  12.  { if (f.elements[i-1].type=='checkbox')// если тип элемента checkbox, то
  13.   { str=f.elements[i-1].name;
  14.    if (sdf_str_pos(str,name_)<1) { continue; }// если checkbox не подходящий
  15.    switch(_status)
  16.    { case(0): { f.elements[i-1].checked=false; break; }// сбрасываем значения
  17.      case(1): { f.elements[i-1].checked=true; break; }// устанавливаем значения
  18.      case(2): { f.elements[i-1].checked=!f.elements[i-1].checked; break; }// меняем местами
  19.    }
  20.   }
  21.  }
  22.  }


Вызов прост:

CODE (javascript):
скопировать код в буфер обмена
  1. // обнуляет все checkbox с приставкой del_ на форме form_name
  2. sd_checkbox_status('form_name',0,'del_');
  3.  
  4. // включает все checkbox с приставкой del_ на форме form_name
  5. sd_checkbox_status('form_name',1,'del_');
  6.  
  7. // Меняет все значения checkbox с приставкой del_ на форме form_name
  8. sd_checkbox_status('form_name',2,'del_');


Не знаю почему, но автор не разместил описание функции sdf_str_pos(str,name_).
Она позволят находить чекбосы с определ. именем и отмечать только их. Закомментируйте это строчку все будет работать. Только выделяться все чекбоксы, независимо от имени.


-----
У всего есть обратная сторона.
 
 Top
DlTA
Отправлено: 07 Июня, 2011 - 18:33:27
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




zypikov, удобно ли пользоваться подобными именами:
zypikov пишет:
_form_name,_status
?
я имею введу подчеркивание перед именем.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB