JQuery Datatables行高

时间:2012-09-16 04:37:17

标签: jquery html datatables html-table dynamic-tables

我有一个页面,人们可以输入姓/名,电话,电子邮件和种族点击添加,并在数据表中添加一个条目。问题是在点击添加后,表格显示如下:

Table

如何调整每行的高度以使其正确显示。这是我的表的html代码:

<div id="table">
    <form id="add_nrow" title="Add">
        <br/>
        <label for="name">First Name</label><input type="text" name="fname" id="fname" class="required" rel="0" />
        <br />
        <label for="name">Last Name</label><input type="text" name="lname" id="lname" rel="1" />
        <br />
        <label for="name">Phone</label><input type="text" name="phone" id="phone" rel="3" />
        <br />
        <label for="name">Email</label><input type="text" name="email" id="email" rel="4" />
        <br />
        <label for="name">Ethnicity</label><input type="text" name="ethnicity" id="ethnicity" rel="5" />
        <br />   
        <input type="button" value="Add" id="addbtn" /><br/><br/>  
    </form>

    <table id="reg_more" border="1">
        <thead>
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Phone</th>
                <th>Email</th>
                <th>Ethnicity</th>
            </tr>
        </thead>
    </table>
</div>

这是我的jquery代码

$("#addbtn").click(addrow);
$('#reg_more').dataTable({
                "bLengthChange": false,
                "bInfo": false,
                "bPaginate": false,
                "bStateSave": true,
                "rowHeight": 'auto',
                "bFilter": true,
                "bSort": false,
                "bAutoWidth": false
            });


function addrow() {
    $('#reg_more').dataTable().fnAddData( [
        $('#fname').val(),
        $('#lname').val(),
        $('#phone').val(),
        $('#email').val(),
        $('#ethnicity').val()] );
    }

我真的有两个问题:

  1. 如何正确调整高度,以便用户可以看到数据?
  2. 如果输入20个人的信息,我如何获取所有数据,以便将其输入mysql数据库?

2 个答案:

答案 0 :(得分:5)

正如您在此fiddle中所看到的,您的代码是正确的,应该按预期工作。

无论如何要设置行高,只需使用css

即可
 tr { height: 50px } 

我认为没有必要让它更复杂。

关于如何将数据插入数据库的问题,google上有大量示例。

答案 1 :(得分:0)

这是一个老问题,但如果像我一样,你不想在CSS中这样做,你可以使用1.10或更高版本中的drawCallback来改变表格单元格填充和/或高度使用JS。

var import_list = $( 'table.import_list' ).DataTable( {
    'drawCallback': function () {
        $( 'table.import_list tbody tr td' ).css( 'padding', '5px 8px 5px 8px' );
    }
} )