繁体   English   中英

访问Java语言中的表格单元格的内容

[英]Accessing the contents of a table cell in Javascript

我在HTML的表格单元格元素中嵌套了一个复选框。 如何从Javascript访问内部复选框? 我看到的所有示例都改变了内部HTML本身或视觉属性,这不是我感兴趣的内容。我尝试了childNodes数组,但显然它是空的。

如果您不使用jQuery,则可以执行以下操作:

document.getElementsByTagName('input');

然后循环遍历它们以找到一个复选框,parentNode是表单元格。

或者非常简单地将ID添加到该复选框。

如果您使用的是jQuery,它非常简单;

$('table td input:checkbox')

UPDATE

没有jQuery的。

<table id='table'>
  ...
  <td><input name='input' type='checkbox' /></td>

</table>


var table = document.getElementById('table');

var inputs = table.getElementsByTagName('input')

var chkbox = [];

for (var i=0; i< inputs.length;i++) {
   if (inputs[i].type == 'checkbox') {
      chkbox.push(inputs[i]);
   }

}

现在您所有的复选框都在chkbox数组中

如果要从表单访问它也很容易:

var ckbox = document.formname.checkboxname;

您可以使用ID ...

演示: http//jsfiddle.net/YTDeW/1/

document.getElementById('ck1').value;

...

<table>
    <tr>
        <td>checkbox 1<input type="checkbox" id="ck1" name="ck" value="check1" /></td>
        <td>checkbox 2<input type="checkbox" id="ck2" name="ck" value="check2" /></td>
        <td>checkbox 3<input type="checkbox" id="ck3" name="ck" value="check3" /></td>
    </tr>
</table>

...

或者您可以获取所有具有相同name属性的...

var y = document.getElementsByName('ck');
for (var i = 0; i < y.length; i++) {
    document.getElementById('trace').innerHTML += "<br />" + y[i].value;
}

如果您以表格形式输入,那么出于访问目的,您可以完全忽略该表:

<form name="aForm" ...>
  // Whatever table structure you like

  <input name="anInput" ...>

</form>

您可以通过以下方式访问输入:

var inp = document.aForm.anInput;

或更正式地为:

var inp = document.forms['aForm'].elements['anInput'];

注意,如果你有在形式与名称anInput不止一种形式的控制, inp将这些元素的集合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM