我不知道此代码中的错误是什么。我已正确检测到父母。但是不起作用。
这是HTML代码
<table>
<tbody class="tbody">
<tr id="row_1">
<td>
<input type="text" id="row_1_jumlah_1" name="row_1_jumlah_1" value="1" readonly="readonly" class="form-control" />
</td>
<td></td>
</tr>
<input type="button" class="btn green" value="Tambah Satuan" id="add_row" style="margin-bottom: 10px; margin-left:10px;" />
</tbody>
</table>
这是js代码
$("#add_row").click(function () {
var last_index_tr = $(".tbody tr").length;
var new_index_tr = $(".tbody tr").length + 1;
var row = $("<tr id='row_" + new_index_tr + "'>");
var input = $("<td> <input class='form-control' type='text' id='row_" + new_index_tr + "_jumlah_1' name='row_" + new_index_tr + "_jumlah_1' value='1' readonly='readonly' /> </td>");
var action_delete = $("<td> <input class='btn btn-danger' type='button' id='row_" + new_index_tr + "_delete' class='delete' value='delete' /> </td>");
action_delete.click(function () {
var parent_1 = action_delete.parent();
var get_tr_parent_id = $(parent_1).attr('id');
//document.write(get_tr_parent_id);
$("#".get_tr_parent_id).remove();
});
row.append(input);
row.append(action_delete);
row.append("</tr>");
$(".tbody").append(row);
});
我想用删除按钮或action_delete删除表内的tr(参见js代码)。我完全得到了父母。但我还是不能删除tr。
答案 0 :(得分:3)
试试这个,您可以使用.on
挂钩click handler
在运行时创建的delete button
。虽然您的挂钩工作正常,但在处理创建.on
的{{1}}时,使用elements
是一种很好的做法。顺便说一下,您必须将dynamically
与#
连接在一起+
这与您的代码存在问题,请参阅代码here。
.
尝试以下代码,这将通常只为您的整个删除按钮注册一次点击事件。
var action_delete = $("<td> <input class='btn btn-danger' type='button' id='row_" + new_index_tr +"_delete' class='delete' value='delete' /> </td>");
$(document).on('click',"#row_" + new_index_tr +"_delete",function(){
$(this).closest('tr').remove();
});
答案 1 :(得分:0)
您的删除方法不正确。它应该是:
$("#" + get_tr_parent_id).remove();
它当前正在返回undefined而不是连接两个字符串。