Я использую jQuery для динамического добавления строк в мою таблицу HTML при нажатии кнопки. Для вновь добавленной строки я хочу иметь кнопку «+» и «X» для добавления/удаления динамически добавленных строк.Кнопка удаления не отображается в динамически добавленной строке
Мой HTML для того же выглядит следующим образом:
<td>
<button type="button" class="addRow"> +
</button>
</td>
И мой JQuery код такой же заключается в следующем:
$("#table-id").each(function(){
$("button.addRow", this).live('click', function() {
var html = '<tr><td> </td> <td> </td> <td> </td> <td> <input type="textbox" name="dateLastContact" class="datesToBeAdded"> </td> ' +
'<td> <input type="text" name="newContact"> </td> <td> <input type="text" name="newContactPhone"> </td> ' +
'<td> <input type="text" name="newContactEmail"> </td> <td> <button class="addRow">+</button> <button class="deleteRow">X</button> </td> </tr>';
var row = $(this).closest('tr'); // get the parent row of the clicked button
var newRow = $(html).insertAfter(row); // insert content
/* add datepicker and jQuery UI Button styling to newly added row */
newRow.find('td').css('text-align','center');
newRow.find('.datesToBeAdded').datepicker();
newRow.find('.addRow').button();
newRow.find('.deleteRow').remove();
});
});
Но, при добавлении новой строки, я просто не вижу кнопка «X» добавлена рядом со строкой «+».
Любые идеи, что я делаю неправильно.
Thanks,
Pritish.
.delegate() не работает для меня, поэтому я прибегал к использованию .live() – Pritish
@Pritish - он работает только в последней версии jQuery, так что если вы на более старой версии, это не сработает ... надеюсь, последний бит-код в ответе - это то, что вам нужно. –
@Pritish: снова, более поздний ответ лучше, чем мой. Это должно полностью ответить на ваш вопрос. – MvanGeest