3

私の要件は、3列5行のテーブルがあることです。最後の行を使用する場合は、最後の行の後に動的に新しい行を追加する必要があり、新しく作成した行を再度使用する場合は、最後に新しい行を動的に追加する必要があります。ただし、問題はボタンを使用しないことです。行を追加するには、代わりにonblurまたはonchangeイベントを使用する必要があります。誰かが私に上記の問題の解決策を提案できますか?

4

3 に答える 3

1

focus最後の行の使用を開始するときに行を追加するように、イベントを使用しないのはなぜですか? 新しく追加された行に対してもイベントが機能するように、テーブルにデリゲートを追加できます。

$(function(){
  $('#TheTable').on('focus', 'input', function(){
    if ($(this).closest('tr').is(':last-child')) {
      $('#TheTable').append('<tr><td><input type="text"/></td></tr>');
    }
  });
});

デミオ: http://jsfiddle.net/Guffa/2mcp3/

于 2012-06-08T08:01:14.150 に答える
0

次の関数を使用して、テーブルに行を追加できます。

function addrow() {
    var table = document.getElementById('tableid');
    var row = table.insertRow(table.rows.length);
    row.id = 'row'+table.rows.length; //ID the rows however you like, make each one unique though.
}

onClickテーブル行に新しい行を追加することを検討できます。addrow()次のようなものを関数に追加することもできます:row.onClick = addrow();ただし、最後の行だけでこれを行いたい場合は、document.getElementById('otherrow').onClick = "";CSS ID "otherrow" を使用して古い行をリセットしてください。

于 2012-06-08T07:58:43.993 に答える
0

次のリンクを確認してください。関数を呼び出すためにボタンクリックイベントを使用しています。そのため、テキストフィールドなどの onblur 関数に簡単に変更できます。それがうまくいくことを願っています。この回答リンクを確認してください

于 2012-06-12T05:57:08.987 に答える