1. DarkRevenger - 07 Июня, 2011 - 09:10:10 - перейти к сообщению
Подскажите как сделать 1 общий чекбокс для всего списка элементов, ну чтобы 1 отметил и сразу отметились все.
2. SAD - 07 Июня, 2011 - 10:05:06 - перейти к сообщению
примеров в сети куча
3. zypikov - 07 Июня, 2011 - 18:11:54 - перейти к сообщению
Помойму это лучше делать js-скриптом. Вы же, наверное, хотите что чекбоксы отмечались динамически без перезагрузки страницы? У меня такая необходимость появилась, когда я столкнулся с лентой новостей. Чтобы, допустим, выделились все новости подлежащие удалению. В сущности тут хорошо надо понимать DOM-модель страницы и никаких проблем быть не должно)) Вот пример скрипта из сети.
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- // работаем со всеми checkbox на указанной форме
- function sd_checkbox_status(_form_name,_status,_name)
- // form_name - название формы
- // status - присвоить статус; 0 - все отменить. 1 - всем включить; 2 - поменять местами
- // name - имя checkbox`s (чекбоксов)
- { // делаем короткий объект для обращений к форме
- var f=document.getElementById(_form_name);
- var name_='';
- var str='';
- name_=(typeof(_name)=='undefined')?'del':_name;// служит для сокращения писанины на формах
- for (i=1;i<=f.length;i++)// пройтись по всем элементам на HTML форме
- { if (f.elements[i-1].type=='checkbox')// если тип элемента checkbox, то
- { str=f.elements[i-1].name;
- if (sdf_str_pos(str,name_)<1) { continue; }// если checkbox не подходящий
- switch(_status)
- { case(0): { f.elements[i-1].checked=false; break; }// сбрасываем значения
- case(1): { f.elements[i-1].checked=true; break; }// устанавливаем значения
- case(2): { f.elements[i-1].checked=!f.elements[i-1].checked; break; }// меняем местами
- }
- }
- }
- }
Вызов прост:
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- // обнуляет все checkbox с приставкой del_ на форме form_name
- sd_checkbox_status('form_name',0,'del_');
- // включает все checkbox с приставкой del_ на форме form_name
- sd_checkbox_status('form_name',1,'del_');
- // Меняет все значения checkbox с приставкой del_ на форме form_name
- sd_checkbox_status('form_name',2,'del_');
Не знаю почему, но автор не разместил описание функции sdf_str_pos(str,name_).
Она позволят находить чекбосы с определ. именем и отмечать только их. Закомментируйте это строчку все будет работать. Только выделяться все чекбоксы, независимо от имени.