0

我有一个带有 n 行带有复选框的表格,我想要做的是如果我选择一个复选框,值应该转到文本区域,所以我首先将所有元素存储在一个数组中,但它没有发生,因为你可以看到我也添加了警报以进行检查。请帮忙。

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 + ","; 
        };
    };
}
4

1 回答 1

1

您是否在控制台中看到错误?我怀疑当while (i <= iRowCount)运行时i === iRowCount没有document.getElementById(id)产生结果,然后当你使用该值时,会发生不好的事情。

此外,循环中的每一圈都会fasta覆盖之前的值。你可能想要类似的东西fasta.value += cb.value + ",";

于 2012-05-15T05:33:16.113 回答