私のhtmlテーブルにはいくつかの入力要素があります。ユーザーが最後の年齢列を埋めた後にEnterボタンを押すたびに、テーブルの最後に入力要素の新しい行を挿入したいと思います。写真が物事をより明確にすることを願っています..私はjqueryが初めてなので、jqueryを使用することは可能ですか. どんな種類の助けにも感謝します..
4 に答える
テーブルのhtml構造を推測すると、一般的な考え方は次のようになります。
$('input.last').keyup(function handleEnter(e){
//enter hit on the input that has class last
if(e.which == 13) {
$(this).removeClass('last').unbind('keyup');
$('.myTable').append('<tr><td><input name="input1"/></td><td><input name="input1"/> </td><td><input name="input1" class="last"/></td></tr>');
$('.last').keyup(handleEnter);
}
});
最後の行の最後の列を jquery のセレクターとして使用します。onclick イベントを起動し、テーブルの最後に新しい tr を追加します
コードはこちら
<script>
$(document).ready(function () {
$('#tableId tr:last td:last').click(function () {
var tr = $('this').closest('tr');
$('#tableId').append(tr);
});
});
</script>
基本的な追加については、これを参照してください。
http://datatables.net/release-datatables/examples/api/add_row.html
この:
http://code.google.com/p/jquery-datatables-editable/wiki/AddingNewRecords
http://jquery-datatables-editable.googlecode.com/svn/trunk/addingrecords.html
それは次のように簡単です:$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
いくつかの注意事項があります
実験用の小さなフィドルを作成しました: http://jsfiddle.net/fNW8T/
個人的には、AngularJS のような ngRepeat や単なるデータテーブルを備えたフレームワークが好きです。これを手作業で行うのはかなり面倒です。