5列で構成されるHTMLテーブルがあります。HTMLテーブルの上には、「HowManyRows」というテキストボックスがあり、ユーザーはテーブルに追加する行数を入力できます。「行の追加」時に実際に行が追加されます。ボタンがクリックされます。
この機能を作成する最善の方法はforループを使用することだと思いましたが、インターネットを閲覧した後、人々はjQueryメソッドを使用すると言われています.each
。私はそれを試しましたが、期待どおりに機能しません。「HowManyRows」の数に関係なく、テーブルに1行追加するだけです。誰かが私が間違っていたところを訂正できますか?
これが私のHTMLです:
<input type="text" id="HowManyRows"/>
<table id="MainTable">
<tr id="FirstRow">
<td>
<select>
<option>Milk</option>
<option>Coffee</option>
<option>Tea</option>
</select>
</td>
<td>
<select>
<option>1 sugar</option>
<option>2 sugar</option>
<option>3 sugar</option>
</select>
</td>
<td>
<input type="text"/>
</td>
<td>
<input type="text"/>
</td>
<td>
<input type="text"/>
</td>
</tr>
</table>
<button type="button" id="btnAdd">Add Row!</button>
これが私のjQueryです:
$(document).ready(function () {
$('#btnAdd').click(function () {
$('#HowManyRows').each(function(index) {
$('#FirstRow').clone().appendTo('#MainTable');
});
});
});
ここでJSFiddleのデモを作成しました。