0

私はandroid用のphonegapを使用してアプリを開発しておりFOR、htmlテーブル行を使用してjavascriptでループを作成しようとしています。私は使ってみましたdocument.writeが、ページのすべてのコンテンツが消えて、それが何であるかを示しますdocument.write。私が持っているコードはこれです:

<table id="hor-minimalist-b">
<script language=javascript>
for (var i=0; i<3; i++) {
    document.write('<tr>');
        document.write('<td>');
        document.write('<input type="text" name="valor" id="valor" value="key' + i'">');
        document.write('</td>');
        document.write('</tr>');
}
</script>
</table>

ありがとう。

4

1 に答える 1

2

これは、ページにテキストを配置するだけなので、要素を「作成」してテーブルに追加する必要があるためです。あなたはこのようにそれを行うことができます:

<table id="hor-minimalist-b"><thead></thead><tbody></tbody></table>
<script language="javascript">
var table = document.getElementById('hor-minimalist-b'); // get the table element
var tableBody = table.childNodes[1]; // get the table body
var tableHead = table.childNodes[0]; // get the table head
for (var i=0; i<3; i++) {
    var row = document.createElement('tr'); // create a new row
    var cell = document.createElement('td'); // create a new cell
    var input = document.createElement('input'); // create a new input
    // Set input properties
    input.type = "text";
    input.id = "valor"; // It's not a good idea (to have elements with the same id..)
    input.name = "valor";
    input.value = "key" + i;
    cell.appendChild(input); // append input to the new cell
    row.appendChild(cell); // append the new cell to the new row
    tableBody.appendChild(row); // append the row to table body
}
</script>

insertRow()とinsertCell()もおそらく機能しますが、私はまだテストしていません

于 2012-09-18T13:51:26.707 に答える