JavaScript将表格中的所有列复选框设置为+200行,但屏幕上仅可见行可用

时间:2018-11-19 17:27:59

标签: javascript html dom

我需要添加切换按钮,以取消和选中带有另一个系统提供的表格的页面的复选框。该表可以包含200多个行。

我当前面临的问题是,我只能设置当前在屏幕上可见的复选框的选中属性。因此,当我尝试对屏幕上未使用的复选框使用document.getElementById时,返回值未定义。

是否有一种方法可以将表的全部内容加载到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 :(得分:0)

如果您尝试getElementsByTagName('input')的所有html标签都是复选框,则可以尝试通过ID或Class的Tag insead获取它们,但不知道它是否可以工作,但是您可以尝试...

此外,您可以尝试对JQuery input执行相同的操作,然后禁用遍历数组的复选框。