私のWebページには、次のコードだけの表があります。
<table id = "grid" >
</table>
また、このボタンは、1 行に 3 つの列を追加します (要素は、テキスト領域、ドロップ可能領域、およびボタンです)。
<button class = "plus"> + </button>
この関数は、ボタンがクリックされたときに実行されます。
$( ".plus" ).button().click(function() {
$('<tr></tr>').appendTo("#grid");
$('<td><textarea/></td>').appendTo("#grid tr:last");
$('<td id = "regla"></td>').droppable( drpOptions ).appendTo("#grid tr:last");
$('<td><button class = "addRow"> + </button></td>').appendTo("#grid tr:last");
});
これはスムーズに実行され、この時点まではすべて問題ありません。私ができないのは、追加しているボタン (class="addRow") をクリックすると、ボタンが削除され、同じ 3 つの項目 (テキスト領域、ドロップ可能、ボタン) のセットが行に追加されることです。 . この新しいボタンを追加して同じことをしたいです。
コードは次のようになると思います。
$(".addRow").button().click(function(){
var myColumn = $(this).closest("td").prevAll("td").length;
var myRow = $(this).closest("tr").prevAll("tr").length;
$("#grid").rows[myRow].cells[myColumn].append('<td><textarea/></td>');
});
またはこのように:
$(this).parents("table").find("tr:eq("+myRow+")")(function(){
$(this).find("td:eq("+myColumn+")").append('<td><textarea/></td>');
});
私がそれを正しくするのを手伝ってくれますか、それとも正しい方法でそれをすることができますか?