Вопрос по javascript – Установите все флажки по идентификатору / классу

12

Я действительно плохо разбираюсь в Javascript и изо всех сил пытаюсь обойти это.

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

Ваш Ответ

8   ответов
13

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;

       }


   }
}

var checkbox = document.getElementById(YOUR_ID);

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

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Ben Shelock
Error: User Rate Limit Exceeded
0

Javascript

По классу:

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

По ID:

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

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

jQuery

По классу:

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

По ID:

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

Связанные с:Как сбросить все флажки, используя jQuery или чистый JS?

0

Псевдокод:

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']);

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

14

JQueryВы можете сделать это очень легко!

$(".ClassName").attr("checked", "true");

или один идентификатор

$("#ID").attr("checked", "true");

Увидеть:Установите все флажки с JQuery.

Error: User Rate Limit Exceeded
0

$(".className").prop("checked", true);
$("#idName").prop("checked", true);
1
Error: User Rate Limit Exceeded
0

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

Похожие вопросы