Я разрабатываю приложение ASP.NET Web Api 2.2 с .NET Framework 4.5, C# и jQuery.Удалить последнюю строку таблицы, добавленную программно в таблицу HTML
У меня есть эта таблица по мнению:
<table id ="batchTable" class="order-list">
<thead>
<tr>
<td>
<h4>Product</h4>
</td>
<td></td>
<td></td>
<td></td>
<td>
<h4>Codes</span></h4>
</td>
</tr>
<tr>
<td>
<h4>Label1</h4>
</td>
<td>
<h4>Label2</h4>
</td>
<td>
<h4>Label3</h4>
</td>
<td>
<h4>Label4</h4>
</td>
<td>
<h4>Label5</h4>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="group">
<input type="text"
name="BatchProducts[0].BatchName"
id="BatchProducts[0].BatchName"
required />
@*<span class="highlight"></span>
<span class="bar"></span>
<label>Name</label>*@
</div>
</td>
<td>
<div class="group">
<input type="text"
name="BatchProducts[0].BatchPO"
id="BatchProducts[0].BatchPO"
required />
@*<span class="highlight"></span>
<span class="bar"></span>
<label>PO</label>*@
</div>
</td>
<td>
<div class="group">
<input type="text" class="datepicker"
name="BatchProducts[0].MadeDate"
id="BatchProducts[0].MadeDate"
required />
@*<span class="highlight"></span>
<span class="bar"></span>
<label>Made</label>*@
</div>
</td>
<td>
<div class="group">
<input type="text" class="monthPicker"
name="BatchProducts[0].ValidateDate"
id="BatchProducts[0].ValidateDate"
required />
@*<span class="highlight"></span>
<span class="bar"></span>
<label>Validate</label>*@
</div>
</td>
<td>
<div class="group">
<input type="text" class="quantity"
name="BatchProducts[0].Quantity"
id="BatchProducts[0].Quantity"
onkeydown='return (window.event.keyCode >= 48 && window.event.keyCode <= 57) || window.event.keyCode == 8 || window.event.keyCode == 46'
required />
@*<span class="highlight"></span>
<span class="bar"></span>
<label>Quantity</label>*@
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="5">
<table>
<tr>
<td style="text-align: left;">
<input type="button" id="addrow" value="Add" />
</td>
<td>
<input type="button" class="ibtnDel" value="Delete last row">
</td>
</tr>
</table>
</td>
</tr>
</tfoot>
</table>
Я использую JQuery, чтобы добавить новые строки динамически, когда пользователь нажимает на addRow
кнопку, и пользователи могут также удалить последнюю одну строку при нажатии на кнопку ibtnDel
.
У меня проблемы с кнопкой удаления. Это ее JavaScript:
$("table.order-list").on("click", ".ibtnDel", function (event) {
$('table.order-list').each(function() {
if ($('table.order-list > tbody > tr', this).length > 0) {
$('table.order-list tbody tr:last', this).remove();
} else {
$('tr:last', this).remove();
}
});
counter -= 1
$('#addrow').attr('disabled', false).prop('value', "Add");
});
Но это не работает, потому что if ($('table.order-list > tbody > tr', this).length > 0)
всегда возвращает 0. Этот код удаления tr
, где кнопки Add
и Delete last row
являются.
Этот код:
if ($('tbody', this).length > 0) {
$('tbody tr:last', this).remove();
Работали, когда две кнопки Add
и Delete last row
не были внутри во внутренней таблице.
<tfoot>
<tr>
<td style="text-align: left;">
<input type="button" id="addrow" value="Add" />
</td>
<td>
<input type="button" class="ibtnDel" value="Delete last row">
</td>
</tr>
</tfoot>
Как я могу заставить его работать?
JSFidle: https://jsfiddle.net/VansFannel/fa0z225s/12/ Это мой первый JSFidle, и он не работает. Я не знаю, можете ли вы его отредактировать.
Можете ли вы предоставить простой _pam_ вашего кода на [JSFiddle] (http://www.jsfiddle.net/)? –
Я не вижу, как части ASP.NET имеют отношение к вопросу jQuery? – Anders
Я добавил JSFiddle, https://jsfiddle.net/VansFannel/fa0z225s/5/, но это не работает, потому что это мой первый JSFiddle, и я не знаю, как заставить его работать. @Anders, это приложение ASP.NET, и я добавил как можно больше деталей. – VansFannel