2012-09-16 43 views
6

Tôi đang tạo trang đăng ký nơi ai đó có thể đăng ký tối đa 20 người khác nếu họ muốn. Vì vậy, tôi có những hộp văn bản:JQuery Datatables Thêm hàng mới

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/> 

Đây là bảng html của tôi với intialization JQuery của tôi về 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 
}); 

Bây giờ tôi muốn đặt một nút add để người dùng có thể nhập đầu tiên và họ, và email và nhấn thêm, và nó sẽ được đưa vào bảng. Làm thế nào để tôi làm việc này?

+0

Một google tìm kiếm của câu hỏi chính xác của bạn sẽ. nhanh chóng cho bạn biết. https://www.google.com/search?q=JQuery+Datatables+Add+new+Row&rlz=1C1CHFX_enUS480US480&aq=f&sugexp=chrome,mod=8&sourceid=chrome&ie=UTF-8 –

+1

@StephenSarcsamKamenar yah đó chính xác là những gì Tôi đã làm trước khi đăng bài, và tôi không thể làm cho đầu hoặc đuôi của các phản ứng.Tôi thậm chí đã thử một vài giải pháp không thành công.Đó là lý do tại sao tôi đến đây để ai đó có thể giải thích một giải pháp mà tôi có thể hiểu được. tùy chọn – Richard

+0

http://datatables.net/examples/api/add_row.html không giúp được gì? Bạn đang gặp rắc rối với phần nào? –

Trả lời

22
$(document).ready(function() { 
    $('#example').dataTable(); 
    $('#addbtn').click(addrow); 
}); 

function addrow() { 
    $('#example').dataTable().fnAddData([ 
     $('#fname').val(), 
     $('#lname').val(), 
     $('#email').val() ]); 

} 

bạn cần gọi hàm addrow() trong lần nhấp nút.

Thêm nút này trong mã html của bạn

<input type="button" value="add" id="addbtn" /> 
+0

ahh tốt hơn nhiều, tôi là thương hiệu mới với jquery và datatables nên rất khó cho tôi để làm loại công cụ này. Nhưng điều này làm cho cảm giác tốt hơn nhiều. Vì vậy, tôi có thể làm điều tương tự này để chỉnh sửa và xóa. 1 điều nữa, làm cách nào để đăng tất cả dữ liệu này một cách chính xác để tôi có thể thêm nó vào cơ sở dữ liệu mysql? Hãy nói rằng họ đăng ký bản thân và 20 người khác, tôi cần phải thêm 21 mục vào cơ sở dữ liệu mysql của tôi. – Richard

+0

để đăng ký, bạn có thể sử dụng jQuery ajax để chèn dữ liệu vào cơ sở dữ liệu. – Sutha

5

Dưới đây là cách này ngay bây giờ được thực hiện trong 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(); 
}); 
0

này cũng có thể hữu ích nhưng không phải lúc nào vào những thời điểm. Tôi đã tự mình gỡ lỗi và sẽ không mất nhiều thời gian ngay cả khi bạn có nhiều dữ liệu hơn.

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

Lưu ý: Nếu bạn không sử dụng cột cố định sau đó bạn có thể xóa dòng này $ (yourfirstcolumn) .insertAfter (tableClone.children [ "1"]

Các vấn đề liên quan