JQuery Datatables добавить новую строку
Я создаю страницу регистрации, где кто-то может зарегистрировать до 20 человек, если они хотели. Итак, у меня есть эти текстовые поля:
First Name: <br/><input type="text" name="fname" id="fname" /> <br/>
Last Name: <br/><input type="text" name="lname" id="lname" /> <br/>
Email: <br/><input type="text" name="email" id="email"/> <br/>
Это моя html-таблица с моей jQuery intialization DataTables:
<div id="tables">
<table id="table" border="1">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
</thead>
</table>
</div>
$('#reg_more').dataTable({
"bLengthChange": false,
"bInfo": false
});
теперь я хочу поставить кнопку Добавить, чтобы пользователь мог ввести имя и фамилию, а также электронную почту и нажать add, и он будет помещен в таблицу. Как мне это сделать?
3 ответов
$(document).ready(function() {
$('#example').dataTable();
$('#addbtn').click(addrow);
} );
function addrow() {
$('#example').dataTable().fnAddData( [
$('#fname').val(),
$('#lname').val(),
$('#email').val() ] );
}
вам нужно вызвать addrow () в щелчке кнопки.
добавьте эту кнопку в свой html-код
<input type="button" value="add" id="addbtn" />
вот как это теперь делается в DataTables 1.10
<input type="button" value="add" id="addbtn" />
var dTable = $('#example').DataTable();
$('#addbtn').on( 'click', function () {
dTable.row.add([
$('#fname').val(),
$('#lname').val(),
$('#email').val()
]).draw();
});
Это также может быть полезно, но не всегда порой. Я отлаживал это сам и не займет много времени, даже если у вас есть больше данных.
var table = $(".tableclassName")["1"]
var tableClone = $(".tableclassName")["3"]
$(yournewrowtext).insertAfter(table.children["1"].children[currentRowId]);
$(yourfirstcolumn).insertAfter(tableClone.children["1"].
children[currentRowId]);
Примечание: Если вы не используете фиксированный столбец, то вы можете удалить эту строку $(yourfirstcolumn).insertAfter (скатерть.дети["1"].