Выбрать все флажки по идентификатору/классу

Я очень плохо разбираюсь в Javascript, и я изо всех сил пытаюсь обойти его.

Я пытаюсь сделать что-то, чтобы выбрать все флажки. Однако все, что я нашел, пытается сделать это по имени, я хочу сделать это по ID или классу. Выделить все по имени просто непрактично, не так ли?

Ответ 2

var array = document.getElementsByTagName("input");


for(var ii = 0; ii < array.length; ii++)
{

   if(array[ii].type == "checkbox")
   {
      if(array[ii].className == YOUR_CLASS_NAME)
       {
        array[ii].checked = true;

       }


   }
}

по ID:

var checkbox = document.getElementById(YOUR_ID);

if(null != checkbox)
    checkbox.checked = true;

Ответ 4

У меня всегда было тяжелое время с javascript. Вы можете изучить javascript-библиотеку jQuery. Это значительно улучшило мою способность решать проблемы с помощью javascript, а также создать более четкий и сжатый код для управления и доступа к DOM.

С помощью jQuery вы сможете легко выбрать все флажки, которые вы хотите по ID, а затем прокрутите их, установив их значение для проверки.

Ответ 5

Что делать, если вы даете всем флажкам одно и то же имя + номер (т.е. chkbox1, chkbox2 и т.д.). Затем в вашем javascript вы создадите цикл for, чтобы пройти через количество флажков, и getElementByID("chkbox" + num) (где num - ваша переменная цикла).

Ответ 6

Псевдокод:

function checkAll(array_with_id_values)
{
    for (var i = 0, ilen = array_with_id_values.length; i < ilen; i++)
    {
        document.getElementById(array_with_id_values[i]).checked = true;
    }
}

Позвоните по следующему адресу:

checkAll(['my-unique-id', 'my-other-unique-id', 'my-third-unique-id']);

Вам не следует использовать такие имена переменных verbose и делать проверки, что аргумент является массивом, и что элемент, который вы получаете, является флажком и т.д. и т.д.

Ответ 7

Javascript

По классу:

var clist=document.getElementsByClassName("MyClass");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = "checked"; }

По идентификатору:

var clist=document.getElementById("MyID");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = "checked"; }

Смотрите также: Loop Over querySelectorAll Match.

JQuery

По классу:

$('.myclass:input:checkbox').each(function() { this.checked = true; });

По идентификатору:

$('#myID:input:checkbox').each(function() { this.checked = true; });

Связанный: Как reset все флажки с использованием jQuery или чистого JS?