Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Скрипт "Выделить все" (https://javascript.ru/forum/css-html/69314-skript-vydelit-vse.html)

oopros 13.06.2017 21:27

Скрипт "Выделить все"
 
Есть фукнция, с помощью которой реализована в форме возможность "Выделить все"
function Checkall(form){
for (var i = 1; i < form.elements.length; i++){
eval("form.elements[" + i + "].checked = form.elements[0].checked");
}
}

Но когда в форму добавляется какой-то элемент кроме checkbox – в том случае перестает срабатывать.
Как быть? Может возможно как-то подправить?

рони 13.06.2017 21:57

выбрать не все элементы формы, а только checkbox
Цитата:

Сообщение от oopros
.elements

Поиск: getElement* и querySelector* и не только

oopros 13.06.2017 21:59

Цитата:

Сообщение от рони (Сообщение 455404)
выбрать не все элементы формы, а только checkbox


Поиск: getElement* и querySelector* и не только

понимаю, просто с js плохо знаком, может поможете что исправить?
function Checkall(form){
for (var i = 1; i < form.elements.length; i++){
eval("form.elements[" + i + "].checked = form.elements[0].checked");
}
}

рони 13.06.2017 22:11

oopros,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
     function Checkall(form){
 var c = form.querySelectorAll('[type="checkbox"]');
 for (var i = 1; i < c.length; i++){
 c[i].checked = c[0].checked;
 }
 }
  </script>
</head>

<body>
 <form action="http://">
  <label><input name="" type="checkbox" onclick="Checkall(this.form)">All</label>
  <input name="" type="checkbox">
  <input name="" type="checkbox">
 </form>

</body>
</html>

oopros 13.06.2017 22:40

Цитата:

Сообщение от рони (Сообщение 455407)
oopros,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
     function Checkall(form){
 var c = form.querySelectorAll('[type="checkbox"]');
 for (var i = 1; i < c.length; i++){
 c[i].checked = c[0].checked;
 }
 }
  </script>
</head>

<body>
 <form action="http://">
  <label><input name="" type="checkbox" onclick="Checkall(this.form)">All</label>
  <input name="" type="checkbox">
  <input name="" type="checkbox">
 </form>

</body>
</html>

спасибо, сработало


Часовой пояс GMT +3, время: 07:42.