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

HTML+CSS+JavaScript

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

 

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

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

тема: как выбрать все checkbox одним нажатием кнопки?
 
 автор: jeans1986   (27.05.2007 в 11:13)   письмо автору
 
 

есть форма такого типа:

<form action=1.php method=post>
<input type="checkbox" name="all" value="all" ><br>
<input type="checkbox" name="del[]" value="1" /><br>
<input type="checkbox" name="del[]" value="2" /><br>
<input type="checkbox" name="del[]" value="3" /><br>
<input type="checkbox" name="del[]" value="4" /><br>
<input type="checkbox" name="del[]" value="5" /><br>
</form>

Как написать функцию, чтоб при нажатии на checkbox с именем all отмечались все checkbox?

   
 
 автор: bronenos   (27.05.2007 в 12:08)   письмо автору
 
   для: jeans1986   (27.05.2007 в 11:13)
 

кажется так
onChange='for (i in this.form.elements) this.form.elements[i].checked = this.checked'

   
 
 автор: FireTiger   (23.10.2007 в 00:32)   письмо автору
 
   для: bronenos   (27.05.2007 в 12:08)
 

Мне тоже нужно так сделать. Ваш вариант полностью рабочий, а как так сделать, чтобы выделялись только те чекбоксы, которые находятся только в определенной колонке или в определенном ряду?

   
 
 автор: skazi   (23.10.2007 в 00:36)   письмо автору
 
   для: FireTiger   (23.10.2007 в 00:32)
 

name у чекбокса меняете и все, например
row1 row2 row3


вот так .

   
 
 автор: antf   (15.11.2007 в 23:16)   письмо автору
 
   для: bronenos   (27.05.2007 в 12:08)
 

Спасибо, мне тоже пригодилось, но в IE не работает.

   
 
 автор: ddhvvn   (15.11.2007 в 23:20)   письмо автору
 
   для: antf   (15.11.2007 в 23:16)
 

Все везде работает!

   
 
 автор: antf   (17.11.2007 в 23:37)   письмо автору
 
   для: ddhvvn   (15.11.2007 в 23:20)
 

Подскажите, пожалуйста, что нужно сделать, чтобы этот вариант заработал в IE?


<html>

<head>
  <title></title>
</head>

<body>
<form name='form' action='' method='post'>
<pre>
  Выбрать все <input type='checkbox' name='sel_all' onChange='for (i in this.form.elements) this.form.elements[i].checked = this.checked'>
  Вариант 1 <input id='items_1' type='checkbox' value='yes' name='items[1]'>
  Вариант 2 <input id='items_2' type='checkbox' value='yes' name='items[2]'>
  Вариант 3 <input id='items_3' type='checkbox' value='yes' name='items[3]'>
</pre>
</form>
</body>

</html>

   
 
 автор: sim5   (18.11.2007 в 05:14)   письмо автору
 
   для: antf   (17.11.2007 в 23:37)
 

Может быть такое вам нужно - при выборе "Выбрать все" будут сниматься выделения у остальных чекбоксов, и наоборот:

<script>
function checkChoice(f,n) {
 if (n == 0) {
  if (f[0].checked) {
    for (i = 1; i < f.length; i++)
    f[i].checked = false;
  }
 } else {
  if (f[n].checked) f[0].checked = false;
 }
}
</script>

<form name="form" action="" method="post"> 
<pre> 
  Выбрать все <input type="checkbox" name="sel_all" onclick="checkChoice(this.form,0)" checked> 
  Вариант 1 <input type="checkbox" name="items[1]" onclick="checkChoice(this.form,1)"> 
  Вариант 2 <input type="checkbox" name="items[2]" onclick="checkChoice(this.form,2)"> 
  Вариант 3 <input type="checkbox" name="items[3]" onclick="checkChoice(this.form,3)"> 
</pre> 
</form>

   
 
 автор: antf   (18.11.2007 в 13:38)   письмо автору
 
   для: sim5   (18.11.2007 в 05:14)
 

Нет, это для каталога (посмотреть всю страницу можно в аттаче)

   
 
 автор: sim5   (18.11.2007 в 13:46)   письмо автору
 
   для: antf   (18.11.2007 в 13:38)
 

Да не важно для чего, просто в примере - "Выбрать все", вот и подумал, что это ниже следующие чекбоксы выбираются, либо можно их выбрать индивидуально, тогда отметка с чекбокса "Выбрать все" снимается. А вам нужно по щелчку на любом, выделить все?

PS. На странице два заголовка формы, видимо от примера осталось?

   
 
 автор: antf   (18.11.2007 в 14:06)   письмо автору
 
   для: sim5   (18.11.2007 в 13:46)
 

Да, чтобы перенести выбранные позиции каталога. При щелчке нужно выбрать. При повторном щелчке - снять выделение. Предложенный выше пример очень прост и работает во всех браузерах кроме IE.

>>На странице два заголовка формы, видимо от примера осталось?

Да, там был еще опрос.

   
 
 автор: RMW   (18.11.2007 в 16:42)   письмо автору
 
   для: antf   (17.11.2007 в 23:37)
 


<html> 

<head> 
  <title></title> 
</head> 

<body> 
<form name='form' action='' method='post'> 
<pre> 
  Выбрать все <input type='checkbox' name='sel_all' onClick='var o=this.form.elements;for(var i=0;i<o.length;i++)if(o[i].type="checkbox")o[i].checked=this.checked'> 
  Вариант 1 <input id='items_1' type='checkbox' value='yes' name='items[1]'> 
  Вариант 2 <input id='items_2' type='checkbox' value='yes' name='items[2]'> 
  Вариант 3 <input id='items_3' type='checkbox' value='yes' name='items[3]'> 
</pre> 
</form> 
</body> 

</html>

   
Rambler's Top100
вверх

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