Цикл jQuery через динамически сгенерированные флажки и проверка их всех по умолчанию

У меня есть переменная, которая выбирает все флажки и связанный с ними идентификатор в другой функции:

  var $allPdM = $('#SelectAll_' + pdmID);

В $(document).ready(function() В настоящее время у меня есть жестко закодированные на странице. Однако теперь я хотел бы сделать это динамически, когда я знаю, что будет больше:

  $('#SelectAll_2006').prop("checked",true);
  $('#SelectAll_2007').prop("checked",true);
  $('#SelectAll_2008').prop("checked",true); 

Это необходимо сделать при загрузке страницы в функции document.ready.

Дайте им всем общий класс, а затем используйте $(".class").prop("checked", true);

Barmar 05.05.2022 17:10

Как именно это будет выглядеть? Я бэкэнд-разработчик Coldfusion, я мало знаю о jQuery.

FSUKXAZ 05.05.2022 17:23

Это будет выглядеть именно так, как я показал. Просто замените class фактическим именем класса, например. $(".selectall")

Barmar 05.05.2022 17:24

Разве это не то, что уже есть с тем, что я жестко запрограммировал? Может быть 5 вместо 3, поэтому мне нужно будет пройти через цикл, не так ли?

FSUKXAZ 05.05.2022 17:25

Нечего перебирать, есть только один класс для всех.

Barmar 05.05.2022 17:31
<input id = "SelectAll_2006" class = "selectall" type = "checkbox">
Barmar 05.05.2022 17:31

О, круто, тогда это: $('#SelectAll_ + pdmID').prop("checked",true);

FSUKXAZ 05.05.2022 17:31

Это не сработало. Я сделал это неправильно. Может тогда это - $(".SelectAll_" + pdmID).prop("checked",true);

FSUKXAZ 05.05.2022 17:40

Я отправил ответ несколько минут назад.

Barmar 05.05.2022 17:43
$('input[type=checkbox]').prop('checked', true)
wirey00 05.05.2022 18:07

Также $('input[id^=SelectAll_]').prop('checked', true)

wirey00 05.05.2022 18:10

jQuery работает с коллекциями, поэтому, если бы вы это сделали $("input").prop("checked", true), он добавил бы проверенное свойство к входам все. Нет необходимости в дополнительном цикле, так как jquery сделает это за вас. Таким образом, добавляя класс такой же ко всем входным данным, которые вы хотите проверить, вы можете выбрать их все с помощью одного селектора класса и добавить свойство ко всем из них одним вызовом.

freedomn-m 05.05.2022 18:51
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
12
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Дайте всем флажкам общий класс и используйте этот класс при установке свойства.

$(function() {
  $(".selectall").prop("checked", true);
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type = "checkbox" value = "2006" id = "SelectAll_2006" class = "selectall"> 2006<br>
<input type = "checkbox" value = "2007" id = "SelectAll_2007" class = "selectall"> 2007<br>
<input type = "checkbox" value = "2008" id = "SelectAll_2008" class = "selectall"> 2008<br>
<input type = "checkbox" value = "2009" id = "SelectAll_2009" class = "selectall"> 2009<br>

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

FSUKXAZ 05.05.2022 17:53

Что-то в $(document).ready(function()

FSUKXAZ 05.05.2022 17:54

Да, вы можете это сделать. Это был просто пример.

Barmar 05.05.2022 17:59

Как? Я не эксперт по jQuery.

FSUKXAZ 05.05.2022 18:00

Я уже обновил ответ, чтобы показать его

Barmar 05.05.2022 18:01

Ах я вижу. Добавлен класс к динамически генерируемому устройству ввода. Добавил функцию в функцию Ready и она работает. Ура! Спасибо.

FSUKXAZ 05.05.2022 18:51

Если вы хотите, чтобы они «предварительно выбирались при загрузке страницы; без функции», измените HTML. <input type='checkedbox' checked ...

freedomn-m 05.05.2022 18:52

Другие вопросы по теме