【问题标题】:Getting the Control inside a table获取表格内的控件
【发布时间】:2013-10-08 08:47:18
【问题描述】:

我正在尝试获取单元格表内的控件;在我的表格中,我有不同的控件、标签、复选框等。

我基本上需要获取该表中使用的控件

var x = document.getElementById('myTable').rows[0].cells;
alert(x[0].innerText);
//alert(x[3].innerHTML);

if (x.Control == checkbox) {

    x.checked = true;
}

这将是一个循环,但现在我只需要能够通过抓取控件并将该控件设置为 true 来选中复选框

任何提示/帮助都会很棒

【问题讨论】:

    标签: javascript asp.net controls findcontrol


    【解决方案1】:

    我不太明白你到底需要什么

    document.getElementById("checkbox").checked = true; 
    

    这里的复选框是特定复选框的 id

    【讨论】:

    • 我不知道我的复选框的 ID 将是什么,因为它们是动态创建的,我只需要能够获取控件或获取 ID
    【解决方案2】:

    我会在表单元素上放置一个唯一的 id,然后用它来抓取它。通过这种方式,您可以在将来更改结构。示例:也许您不再想使用表格网格,而是使用 div 网格。

    当您使用 innerHTML 时,您可能还会抓取文本节点和您放入单元格中的其他内容。

    如果您真的想在表格中查找特定单元格,另一种方法是在“cell-4-5”表单上为每个单元格指定一个唯一的 ID,其中 4 是行,5 是列。

    [编辑]

    如果您想将单元格内容作为 DOM 对象返回,则可以使用 childNodes:

    var x = document.getElementById('myTable').childNodes[0].childNodes[0].childNodes
    

    如果您想将单元格内容作为字符串返回,则可以使用 innerHTML:

    var x = document.getElementById('myTable').childNodes[0].childNodes[0].innerHTML
    

    要检查复选框是否被选中,您需要将其保留为 DOM 元素,因此使用第一个版本。

    【讨论】:

    • 我只需要从单元格中获取控件类型,我不想从表格中更改它。
    猜你喜欢
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    相关资源
    最近更新 更多