Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Отметить все чекбоксы


Автор: Wowa 3.4.2005, 17:33
Есть форма с очень многими полями:
Код

<ЦИКЛ  $firm>
<input type="checkbox" name="selected_firms[]" value="{$firm['temp_id']}">
</ЦИКЛ>



Как сделать кнопку, при нажатии на которую отмечались бы все эти чекбоксы selected_firms[]

Пробовал разные варианты - не получалось из-за того, что поле имеет имя с [] на конце.

Автор: Aliance 3.4.2005, 19:05
Обязательно чекбоксы только с такими именами?
Алгоритм прост, перебираем методом document.getElementsByName все поля формы и делаем их checked, код напишу как ответишь на вопрос выше ^^^

Автор: Sardar 3.4.2005, 23:33
Можно сгруппировать всё в некий тег-контейнер, в нутри которого всё селектируем. Затем перебираем содержимое, селектируем то что нужно
Код
<script type="text/javascript">
<!--

/**
* Селецтируем чекбоксы в контейнере.
* @param  cont  - ссылка на контейнер
* @param name   - опционально, выбрать чекбоксы с определённым именем
*/
function selectAll(cont, name) {
  var inpts=cont.getElementsByTagName("INPUT");
  for(var i=0; i<inpts.length; i++)
    if(inpts[i].type=="checkbox" && (name==null||inpts[i].name==name)) inpts[i].checked=true; 
}
//-->
</script>

<div id="chks">
<input type="checkbox" name="selected_firms[]" value="1">
<input type="checkbox" name="selected_firms[]" value="2">
<input type="checkbox" name="group2_firms[]" value="3">
<input type="checkbox" name="group2_firms[]" value="4">
<input type="checkbox" name="selected_firms[]" value="5"><br>
<button onClick="selectAll(this.parentNode)">Select All</button>
<button onClick="selectAll(this.parentNode, 'group2_firms[]')">Select group 2</button>
</div>

Автор: Wowa 4.4.2005, 01:29
работает. спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)