1

クリックすると新しい行を追加するリンクを含むテーブルがあります。

    <table>
                <thead>
                  <tr>
                    <th scope="col">col1</th>
                    <th scope="col">col2</th>
                    <th scope="col">col3</th>
                  </tr>
                </thead>

                <tbody>
                  <tr>
                    <td><input name="col1" id="col1"></td>
                    <td><input name="col2" id="col2"></td>
                    <td>
                      <select name="col3" id="col3">
                        <option value="">Please select</option>
                        <option value="1">select1</option>
                        <option value="2">select1</option>
                        <option value="3">select1</option>
                      </select>
                    </td>
                  </tr>
                </tbody>
            </table>
<a href="#" id="addLink">+</a>

リンクをクリックすると、新しい行を追加したいのですが、テーブルの最後に 3 列目はありません。だから私はそれを行うためにJQueryを使用しました:

$(document).ready(function(){
                $('#addLink').click(function(){
                    addTableRow($("table"));
                    return false;
                }); // end click
            function addTableRow(table)
            {
                // get the first row in the table
                var $tr = $(table).find("tbody tr:first").html();

                $($tr).remove('td:last'); // remove the last column 


                $('tbody').append("<tr>");
                $(table).find('tbody tr:last').append($tr);


                        };
            }); // end ready

ただし、この部分は 3 列目を削除していません。

$($tr).remove('td:last'); // remove the last column

最初の 2 列だけで新しい行を追加する方法はありますか?

前もって感謝します :)

4

3 に答える 3

1

メソッドを使用する必要はありませんhtml:

$(table).find("tbody tr:first td:last").remove();
于 2012-09-13T16:31:52.160 に答える
1

これはあなたが探しているものですか?

他にもいくつか変更しました。

$(document).ready(function(){
  $('#addLink').click(function(){
    addTableRow($("table"));
    return false;
  }); // end click
  function addTableRow(table) {
    // get the first row in the table
    var $tr = table.find("tbody tr:first").html();


    $('tbody').append($('<tr/>'));
    table.find('tbody tr:last').append($tr).find('td:last').remove();


  };
}); // end ready​

http://jsfiddle.net/QTuzM/

于 2012-09-13T16:38:13.017 に答える
-1
    $('tbody').append("<tr>");
                $(table).find('tbody tr:last').append($tr);
???

どうですか

$(table).find('tbody').append($tr)
于 2012-09-13T16:28:32.183 に答える