JavaScript устанавливает все флажки столбцов в таблице с +200 строками, но доступны только видимые строки на экране - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно добавить переключатели для снятия и установки флажков на странице с таблицей, которая доставляется другой системой.Таблица может содержать более 200+ строк.

Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что я могу установить только отмеченные свойства флажка, которые в данный момент видны на экране.Поэтому, когда я пытаюсь использовать document.getElementById для флажка, которого нет на моем экране, я получаю в качестве возвращаемого значения undefined.

Есть ли способ загрузить все содержимое таблицы в DOM, а если нет, перейдите к этому разделу в таблице?

Обновление: извините за недостающую информацию.

Мне нужно настроить мастер, который отображает таблицу JCA на странице.У меня нет никаких шансов изменить саму таблицу перед генерацией.Поэтому мне нужен скрипт для переключения флажков внутри таблицы с помощью кнопки.Таблица содержит несколько столбцов с флажками.Это скрипт, который я сейчас использую:

var checkbox = document.getElementById(checkboxId);
  if (checkbox != undefined) {
    if (!checkbox.disabled) {
        checkbox.checked = true;
        checkbox.dispatchEvent(new Event("change" {bubbles: true}));
    }
 }          

Я знаю синтаксис checkboxIds, но когда я пытаюсь установить document.getElementById(checkboxId) флажок, я получаю только те, которые видны наэкран.Поэтому я не могу сделать переключение для всех элементов флажка в таблице.

Я довольно новичок в JavaScript, поэтому не знаю, какую информацию предоставить:)

Обновление: так выглядит в отладчике

<div class="x-grid3-row  x-grid3-row-selected" style="width: 1833.71px; height: 22px;"> <!-- WORKING FINE -->
<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="width: 1833.71px; height: 22px;">
<tbody>
<tr>
<td class="x-grid3-col x-grid3-cell x-grid3-td-column1" style="width:40.19444444444444px;" tabindex="-1">
<div class="x-grid3-cell-inner x-grid3-col-column1">
<input id="SomeID_checkbox_column1" type="checkbox" name="someName" disabled="" ext:qtip="demo">&nbsp;</div>
</td>
</tr>
</tbody>
</table>
</div>

<div class="x-grid3-row   " style="width: 1833.71px; height: 22px;"></div> <!-- PROBLEM: DIV is not possible to expand and get the checkbox unless the checkbox is visible on screen --> 

1 Ответ

0 голосов
/ 19 ноября 2018

Пытались ли вы getElementsByTagName('input'), если все теги input html являются флажками, которые вы можете попытаться получить по тегам через идентификатор или класс, я не знаю, сработает ли это, но вы можете попробовать ...

Также вы можете попытаться сделать то же самое с JQuery var checkBoxs = $('input'), а затем отключить флажки, повторяющиеся в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...