<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  <body>
    <button onclick="saveValues()">Save values</button>
    <div class="container">
      <table id="tablePositionen" class="table-responsive table table-lg table-striped">
       <thead>
          <tr>
             <th></th>
             <th>Bezeichnung</th>
             <th class="text-center">Menge</th>
             <th class="text-right">Preis</th>
             <th class="text-right">Gesamt</th>
          </tr>
       </thead>
       <tbody>
          <tr>
             <td>1</td>
             <td><input type="text" name="bezeichnung" value="Description"></td>
             <td><input type="text" name="menge" value="0.00" /></td>
             <td><input type="text" name="preis" value="0.00" /></td>
             <td>0.00 €</td>
         </tr>
       </tbody>
       <tfoot>
         <tr>
           <th colspan="2"></th>
           <th></th>
           <th></th>
           <th></th>
         </tr>
       </tfoot>
      </table>
    </div>
  </body>
</html>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 
  var tablePositionen = $('#tablePositionen').DataTable({
   "footerCallback": function ( row, data, start, end, display ) {
       var api = this.api(), data;
 
            // Button "add Position"
            $( api.column( 1 ).footer() ).html('<button onclick="addRow()">add Position</button>');
 
        },
 
        rowReorder: true,
        columnDefs: [
            {  targets: 0,
                 render: function (data, type, row, meta) {
                    return '<span id="s-' + meta.row + '">'+meta.row+'</span> ';
                 }
             },
            { orderable: false, targets: 0, visible: true},
            { orderable: false, targets: '_all' }
        ]
    }); 
 
 
 
function addRow() {
  console.log("TEST");
    tablePositionen.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
         newCell = parseInt(cell.innerText) + 1;
     } );
 
    tablePositionen.row.add( [
         newCell,
         '<input type="text" name="bezeichnung" value="Description" />',
         '<input type="text" name="menge" value="0.00" />',
         '<input type="text" name="preis" value="0.00 €" />',
         '0.00 €'
     ]).draw();    
}
function saveValues(){
 // GET ALL TABLES VALUES
}
1 warning
Line 3: 'data' is already defined.
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers