6

我正在创建一个注册页面,如果他们愿意,最多可以注册 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 表和我的 DataTables 的 JQuery 初始化:

<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
});

现在我想放一个添加按钮,以便用户可以输入名字和姓氏,以及电子邮件并点击添加,它将被放入表格中。我该怎么做呢?

4

3 回答 3

23
$(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" />
于 2012-09-16T03:56:30.263 回答
5

这是现在在 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();
});
于 2014-05-05T15:43:28.760 回答
0

这也可能会有所帮助,但有时并非总是如此。我自己调试过这个,即使你有更多的数据也不会花费太多时间。

var table = $(".tableclassName")["1"]
var tableClone = $(".tableclassName")["3"]
$(yournewrowtext).insertAfter(table.children["1"].children[currentRowId]);
$(yourfirstcolumn).insertAfter(tableClone.children["1"]. 
children[currentRowId]);

注意:如果您不使用固定列,则可以删除此行 $(yourfirstcolumn).insertAfter(tableClone.children["1"].

于 2017-05-24T10:05:04.993 回答