我有一个带有多个行的复选框表,我想要做的是如果我选择一个复选框,该值应该转到文本区域,所以我先将所有元素存储在数组中,但它不会发生,你可以看到我添加警报以及检查出来。请帮忙。
window.onload = function () {
var oRows = document.getElementById('rnatable').getElementsByTagName('tr');
var iRowCount = oRows.length;
alert('Your table has ' + iRowCount + ' rows.');
var i = 0;
cb = new Array(iRowCount);
while (i <= iRowCount) {
var id = 'check'+ i;
cb[i] = document.getElementById(id);
i++;
}
//alert('Your table has ' + cb[i].value + ' rows.');
for(var a=0; a < iRowCount; a++) {
var fasta = document.getElementById('fasta');
if(cb[a].checked) {
fasta.value = cb.value + ",";
};
};
}
答案 0 :(得分:1)
您是否在控制台中看到错误?我怀疑当while (i <= iRowCount)
运行时i === iRowCount
document.getElementById(id)
没有产生结果,然后当你使用该值时,会发生不好的事情。
此外,通过fasta
循环的每一圈都会覆盖之前的值。你可能想要fasta.value += cb.value + ",";
之类的东西。