2017-02-23 5 views
0

私の例では、ボタン(#Bt_CancTable)でいくつかの行を削除しようとしていますが、私は給与計算で自動的にページ合計を更新する必要があります。行を削除しますが、合計は変更されません

表示される行の数を変更すると、合計が動的に更新されます。チェックされた行を削除する必要があります。

ありがとうございます。

$(document).ready(function() { 
 
    $('#Bt_CancTable').click(function() { 
 
     $('#example').find('tr').each(function() { 
 
      var row = $(this); 
 
      if (row.find('input[type="checkbox"]').is(':checked')) { 
 
       console.log('Deleted ROW: '+row.index()); 
 
       row.remove(); 
 
      }; 
 
     }); 
 
    }); 
 
     
 
    $('#example').DataTable({ 
 
     columnDefs: [ { 
 
      orderable: false, 
 
      targets: 0, 
 
      className: 'dt-body-center', 
 
      render: function (data, type, full, meta){ 
 
      return '<input type="checkbox" name="id[]" value="' + $('<div/>').text(data).html() + '">'; 
 
     } 
 
     } ], 
 
     select: { 
 
      style: 'os', 
 
      selector: 'td:first-child' 
 
     }, 
 
     order: [[ 1, 'asc' ]], 
 
     footerCallback: function (row, data, start, end, display) { 
 
         var api = this.api(), data; 
 

 
         // Remove the formatting to get integer data for summation 
 
         var intVal = function (i) { 
 
          return typeof i === 'string' ? 
 
           i.replace(/[\$,]/g, '')*0.001 : 
 
           typeof i === 'number' ? 
 
            i : 0; 
 
         }; 
 

 
         // Total over all pages 
 
         total = api 
 
          .column(5) 
 
          .data() 
 
          .reduce(function (a, b) { 
 
           return intVal(a) + intVal(b); 
 
          }, 0); 
 
         
 
         // Total over this page 
 
         pageTotal = api 
 
          .column(5, { page: 'current'}) 
 
          .data() 
 
          .reduce(function (a, b) { 
 
           return intVal(a) + intVal(b); 
 
          }, 0); 
 
         
 
         // Update footer 
 
         $(api.column(5).footer()).html(
 
          'K$ '+pageTotal +' ('+ total +' K$ total)' 
 
         ); 
 
      } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script> 
 
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css" /> 
 

 
<div id="wrapper"> 
 
<div> 
 
    <div class="container"> 
 
     <div> 
 
      <button type="button" class="btn btn-warning" id="Bt_CancTable"> 
 
            <i class="fa fa-trash-o fa-fw"></i> 
 
            <span>Cancella selezionati</span> 
 
      </button> 
 
     </div> 
 
     <div> 
 
<table id="example" class="table" cellspacing="0" border="1" width="100%"> 
 
     <thead> 
 
      <tr> 
 
       <th></th> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     <tfoot> 
 
      <tr> 
 
       <th></th> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     </tfoot> 
 
     <tbody> 
 
      <tr> 
 
       <td></td> 
 
       <td>Tiger Nixon</td> 
 
       <td>System Architect</td> 
 
       <td>Edinburgh</td> 
 
       <td>61</td> 
 
       <td>$320,800</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Garrett Winters</td> 
 
       <td>Accountant</td> 
 
       <td>Tokyo</td> 
 
       <td>63</td> 
 
       <td>$170,750</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Ashton Cox</td> 
 
       <td>Junior Technical Author</td> 
 
       <td>San Francisco</td> 
 
       <td>66</td> 
 
       <td>$86,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Cedric Kelly</td> 
 
       <td>Senior Javascript Developer</td> 
 
       <td>Edinburgh</td> 
 
       <td>22</td> 
 
       <td>$433,060</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Airi Satou</td> 
 
       <td>Accountant</td> 
 
       <td>Tokyo</td> 
 
       <td>33</td> 
 
       <td>$162,700</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Brielle Williamson</td> 
 
       <td>Integration Specialist</td> 
 
       <td>New York</td> 
 
       <td>61</td> 
 
       <td>$372,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Herrod Chandler</td> 
 
       <td>Sales Assistant</td> 
 
       <td>San Francisco</td> 
 
       <td>59</td> 
 
       <td>$137,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Rhona Davidson</td> 
 
       <td>Integration Specialist</td> 
 
       <td>Tokyo</td> 
 
       <td>55</td> 
 
       <td>$327,900</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Colleen Hurst</td> 
 
       <td>Javascript Developer</td> 
 
       <td>San Francisco</td> 
 
       <td>39</td> 
 
       <td>$205,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Sonya Frost</td> 
 
       <td>Software Engineer</td> 
 
       <td>Edinburgh</td> 
 
       <td>23</td> 
 
       <td>$103,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jena Gaines</td> 
 
       <td>Office Manager</td> 
 
       <td>London</td> 
 
       <td>30</td> 
 
       <td>$90,560</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Quinn Flynn</td> 
 
       <td>Support Lead</td> 
 
       <td>Edinburgh</td> 
 
       <td>22</td> 
 
       <td>$342,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Charde Marshall</td> 
 
       <td>Regional Director</td> 
 
       <td>San Francisco</td> 
 
       <td>36</td> 
 
       <td>$470,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Haley Kennedy</td> 
 
       <td>Senior Marketing Designer</td> 
 
       <td>London</td> 
 
       <td>43</td> 
 
       <td>$313,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Tatyana Fitzpatrick</td> 
 
       <td>Regional Director</td> 
 
       <td>London</td> 
 
       <td>19</td> 
 
       <td>$385,750</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Michael Silva</td> 
 
       <td>Marketing Designer</td> 
 
       <td>London</td> 
 
       <td>66</td> 
 
       <td>$198,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Paul Byrd</td> 
 
       <td>Chief Financial Officer (CFO)</td> 
 
       <td>New York</td> 
 
       <td>64</td> 
 
       <td>$725,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Gloria Little</td> 
 
       <td>Systems Administrator</td> 
 
       <td>New York</td> 
 
       <td>59</td> 
 
       <td>$237,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Bradley Greer</td> 
 
       <td>Software Engineer</td> 
 
       <td>London</td> 
 
       <td>41</td> 
 
       <td>$132,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Dai Rios</td> 
 
       <td>Personnel Lead</td> 
 
       <td>Edinburgh</td> 
 
       <td>35</td> 
 
       <td>$217,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jenette Caldwell</td> 
 
       <td>Development Lead</td> 
 
       <td>New York</td> 
 
       <td>30</td> 
 
       <td>$345,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Yuri Berry</td> 
 
       <td>Chief Marketing Officer (CMO)</td> 
 
       <td>New York</td> 
 
       <td>40</td> 
 
       <td>$675,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Caesar Vance</td> 
 
       <td>Pre-Sales Support</td> 
 
       <td>New York</td> 
 
       <td>21</td> 
 
       <td>$106,450</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Doris Wilder</td> 
 
       <td>Sales Assistant</td> 
 
       <td>Sidney</td> 
 
       <td>23</td> 
 
       <td>$85,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Angelica Ramos</td> 
 
       <td>Chief Executive Officer (CEO)</td> 
 
       <td>London</td> 
 
       <td>47</td> 
 
       <td>$1,200,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Gavin Joyce</td> 
 
       <td>Developer</td> 
 
       <td>Edinburgh</td> 
 
       <td>42</td> 
 
       <td>$92,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jennifer Chang</td> 
 
       <td>Regional Director</td> 
 
       <td>Singapore</td> 
 
       <td>28</td> 
 
       <td>$357,650</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Brenden Wagner</td> 
 
       <td>Software Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>28</td> 
 
       <td>$206,850</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Fiona Green</td> 
 
       <td>Chief Operating Officer (COO)</td> 
 
       <td>San Francisco</td> 
 
       <td>48</td> 
 
       <td>$850,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Shou Itou</td> 
 
       <td>Regional Marketing</td> 
 
       <td>Tokyo</td> 
 
       <td>20</td> 
 
       <td>$163,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Michelle House</td> 
 
       <td>Integration Specialist</td> 
 
       <td>Sidney</td> 
 
       <td>37</td> 
 
       <td>$95,400</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Suki Burks</td> 
 
       <td>Developer</td> 
 
       <td>London</td> 
 
       <td>53</td> 
 
       <td>$114,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Prescott Bartlett</td> 
 
       <td>Technical Author</td> 
 
       <td>London</td> 
 
       <td>27</td> 
 
       <td>$145,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Gavin Cortez</td> 
 
       <td>Team Leader</td> 
 
       <td>San Francisco</td> 
 
       <td>22</td> 
 
       <td>$235,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Martena Mccray</td> 
 
       <td>Post-Sales support</td> 
 
       <td>Edinburgh</td> 
 
       <td>46</td> 
 
       <td>$324,050</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Unity Butler</td> 
 
       <td>Marketing Designer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>$85,675</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Howard Hatfield</td> 
 
       <td>Office Manager</td> 
 
       <td>San Francisco</td> 
 
       <td>51</td> 
 
       <td>$164,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Hope Fuentes</td> 
 
       <td>Secretary</td> 
 
       <td>San Francisco</td> 
 
       <td>41</td> 
 
       <td>$109,850</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Vivian Harrell</td> 
 
       <td>Financial Controller</td> 
 
       <td>San Francisco</td> 
 
       <td>62</td> 
 
       <td>$452,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Timothy Mooney</td> 
 
       <td>Office Manager</td> 
 
       <td>London</td> 
 
       <td>37</td> 
 
       <td>$136,200</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jackson Bradshaw</td> 
 
       <td>Director</td> 
 
       <td>New York</td> 
 
       <td>65</td> 
 
       <td>$645,750</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Olivia Liang</td> 
 
       <td>Support Engineer</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>$234,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Bruno Nash</td> 
 
       <td>Software Engineer</td> 
 
       <td>London</td> 
 
       <td>38</td> 
 
       <td>$163,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Sakura Yamamoto</td> 
 
       <td>Support Engineer</td> 
 
       <td>Tokyo</td> 
 
       <td>37</td> 
 
       <td>$139,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Thor Walton</td> 
 
       <td>Developer</td> 
 
       <td>New York</td> 
 
       <td>61</td> 
 
       <td>$98,540</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Finn Camacho</td> 
 
       <td>Support Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>$87,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Serge Baldwin</td> 
 
       <td>Data Coordinator</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>$138,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Zenaida Frank</td> 
 
       <td>Software Engineer</td> 
 
       <td>New York</td> 
 
       <td>63</td> 
 
       <td>$125,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Zorita Serrano</td> 
 
       <td>Software Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>56</td> 
 
       <td>$115,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jennifer Acosta</td> 
 
       <td>Junior Javascript Developer</td> 
 
       <td>Edinburgh</td> 
 
       <td>43</td> 
 
       <td>$75,650</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Cara Stevens</td> 
 
       <td>Sales Assistant</td> 
 
       <td>New York</td> 
 
       <td>46</td> 
 
       <td>$145,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Hermione Butler</td> 
 
       <td>Regional Director</td> 
 
       <td>London</td> 
 
       <td>47</td> 
 
       <td>$356,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Lael Greer</td> 
 
       <td>Systems Administrator</td> 
 
       <td>London</td> 
 
       <td>21</td> 
 
       <td>$103,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Jonas Alexander</td> 
 
       <td>Developer</td> 
 
       <td>San Francisco</td> 
 
       <td>30</td> 
 
       <td>$86,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Shad Decker</td> 
 
       <td>Regional Director</td> 
 
       <td>Edinburgh</td> 
 
       <td>51</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Michael Bruce</td> 
 
       <td>Javascript Developer</td> 
 
       <td>Singapore</td> 
 
       <td>29</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td></td> 
 
       <td>Donna Snider</td> 
 
       <td>Customer Support</td> 
 
       <td>New York</td> 
 
       <td>27</td> 
 
       <td>$112,000</td> 
 
      </tr> 
 
     </tbody> 
 
    </table> 
 
     </div>  
 
     </div> 
 
    </div></div>

enter image description here

+0

JSFiddleを処理して、何が起こっているのか確認できますか? – annoyingmouse

+0

すべてのコードをスニペットに挿入しました。「コードスニペットを実行」ボタンでテストできます。あなたが黄色いボタン "Cancella selezionati"で行を削除するときにあなたがテストするならば、給料の列の最後の合計は変更されません(私は変更が必要です)が、表示される行の数を変更する場合は、 "給与の変化の合計。 ありがとうございました – MadCat

+0

問題は、行を削除するときだと思います。 $( '#Bt_CancTable')。クリック(function(){...行を削除した後、削除した行を表示する行の数が変更された場合) – MadCat

答えて

0

他の値を変更する前に、グローバル変数を設定してみてください。

+0

詳細を書くことができますか? – MadCat

+1

'$(document).ready(function(){'の直下に 'var total;'を追加すると、行を削除する前に 'total = 'logic_for_total''のように合計を設定します。 、行を削除する前に設定した値と常に同じです。後でそれをリセットしない限り長くしてください。 – jobenscott

+0

申し訳ありませんが、私は何を、どのように "total"変数を削除されたセルの値を使って設定するのか分かりません – MadCat

関連する問題