申し訳ありませんが、これが基本的すぎる場合。
- 現在の行数がユーザーの要求より少ない場合、テーブルに行を追加しようとしています。
- 同時に、現在の行数がユーザーのニーズを超えている場合は、余分な行を削除する必要があります。
私のコードは機能していますが、あまり意味がないと思います。ですから、誰かが私の間違いを訂正して、私のコードをより合理的にすることができるかどうか疑問に思っています。(この追加または削除アクティビティを制御するために2つのインデックスを使用しようとしました。1つのインデックスは現在存在する要素をチェックし、ユーザーの新しい入力の違いを取得します。次に、追加または削除の動きを実行します。しかし、これを実行できませんでした。)
また、追加の幅を<td>
変更せずに調整することは可能shape of the first table row?
ですか?ありがとうございます!これがデモです。
HTML
<form method="post" id="form1" action=index.html>
<table class="tab tab_Application" border="0">
<tr>
<th>
<label for="id_noa">Number of Applications:</label>
</th>
<td>
<select name="noa" id="id_noa">
<option value="">Make a selection</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
</tr>
<tr id='noa_header' style="display:none">
<th>App#</th>
<th>Month</th>
<th>Day</th>
<th>Mass Applied (kg/hA)</th>
<th>Slow Release (1/day)</th>
</tr>
</table>
</form>
JS
$(document).ready(function () {
var i = 1
$('#id_noa').change(function () {
var total = $(this).val()
$('#noa_header').show()
//I was trying to use two indices to control this add or remove activity. One index check the current existed elements and get the difference between user's new input. Then do the add or remove movements. But I failed to do this.
while (i <= total) {
$('.tab_Application').append('<tr class="tab_noa1"><td><input type="text" size="5" value="' + i + '"/></td><td><input type="text" size="5" name="mm' + i + '" id="id_mm' + i + '""/></td><td><input type="text" size="5" name="dd' + i + '" id="id_dd' + i + '""/></td><td><input type="text" size="5" name="ma' + i + '" id="id_ma' + i + '""/></td><td><input type="text" size="5" name="sr' + i + '" id="id_sr' + i + '" value="0""/></td></tr>');
i = i + 1;
}
while (i-1 > total) {
$(".tab_Application tr:last").remove();
i=i-1
}
$('</table>').appendTo('.tab_Application');
})
});