Как создать кнопку, чтобы получить общее количество каждого продукта, имеющего один и тот же идентификатор в таблице данных jquery?
МОЙ HTML-КОД
<html> <body> <div class="container"> <button value="Total" class="btn btn-primary" id="totalbtn">total of products</button> <table id="tabledata" class="display datatble table-hover" cellpadding="0" cellspacing="0" border="0" width="100%"> <thead id="tablehead"> <tr id="trr" class="dropdown active"> <th id="first"></th> <th id="second"></th> <th id="third"></th> <th id="fourth"></th> <th id="fivth"></th> </tr> <tr> <th>ID</th> <th>Name</th> <th>Stock</th> <th>Expiry Date</th> <th>Warehouse</th> </tr> </thead> <tbody><td></td></tbody> <tfoot> <tr></tr> </tfoot> </table> </div> </body> </html>
мой сценарий</большой>
$(document).ready(function() { var mytable= $('#tabledata').DataTable( { "ajax": { "url": "http://localhost/index.php", "dataSrc": "" }, "columns": [ { "data": "Id" }, { "data": "productname" }, { "data": "stock" }, { "data": "expiry" }, { "data": "warehouse" } ], initComplete: function () { this.api().columns([4]).every( function () { var column = this; var selectwarehouse = $('<select><option value=""/></select>') .appendTo( $('#tabledata .dropdown #fivth ').empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { selectwarehouse.append( '<option value="'+d+'">'+d+'</option>' ) } ); } ); // this.api function this.api().columns([3]).every( function () { var column = this; var selectexp = $('<select><option value=""/></select>') .appendTo( $('#tabledata .dropdown #fourth ').empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { selectexp.append( '<option value="'+d+'">'+d+'</option>' ) } ); } );//this.api func finish this.api().columns([2]).every( function () { var column = this; var selectstock = $('<select><option value=""/></select>') .appendTo( $('#tabledata .dropdown #third ').empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { selectstock.append( '<option value="'+d+'">'+d+'</option>' ) } ); } ); //this.api func finish this.api().columns([1]).every( function () { var column = this; var selectname = $('<select><option value=""/></select>') .appendTo( $('#tabledata .dropdown #second ').empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { selectname.append( '<option value="'+d+'">'+d+'</option>' ) } ); } ); //this.api func finish this.api().columns([0]).every( function () { var column = this; var selectid = $('<select><option value=""/></select>') .appendTo( $('#tabledata .dropdown #first ').empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { selectid.append( '<option value="'+d+'">'+d+'</option>' ) } ); } ); //this.api func finish }//initComplete function });//datatable closed $('totalbtn').click(mytable.rows().every( function ( rowIdx, tableLoop, rowLoop ) { var d = this.data(); var i = 0; var h= columns([0]).row( i ).data(); var stockdata= columns([2]).data(); if ( h == h+1 ) { stockdata.sum(); } } )); // Draw once all updates are done mytable.draw(); }); //document
Что я уже пробовал:
я попробовал функцию click, которая написана в конце кода, но она не сработала. пожалуйста, я хочу получить общую сумму продуктов одного и того же идентификатора, когда нажимаю кнопку total над datatable.
ZurdoDev
Вы разместили много кода. Просто разместите соответствующий код и задайте конкретный вопрос. Покажи нам, где ты застрял.