2016-11-22 4 views
1

Я попытался выполнить обработчик событий переупорядочения столбцов, следуя этой документации: https://datatables.net/reference/event/column-reorderКак использовать событие переупорядочения столбцов в DataTables?

Но когда я пробовал, он не работает. Вот демо: http://live.datatables.net/woheqasu/1/

$(document).ready(function() { 
 
    var table = $('#example').DataTable({ 
 
    columnReorder: true 
 
    }); 
 
    
 
    table.on('column-reorder', function (e, settings, details) { 
 
    alert("Reordered"); 
 
    }); 
 
    
 
});
body { 
 
    font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif; 
 
    margin: 0; 
 
    padding: 0; 
 
    color: #333; 
 
    background-color: #fff; 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
<link href="https://cdn.datatables.net/colreorder/1.3.2/css/colReorder.dataTables.css" rel="stylesheet" type="text/css" /> 
 

 
    <script src="http://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> 
 
    <script src="https://cdn.datatables.net/colreorder/1.3.2/js/dataTables.colReorder.js"></script> 
 

 
    <meta charset=utf-8 /> 
 
    <title>DataTables - JS Bin</title> 
 
    </head> 
 
    <body> 
 
    <div class="container"> 
 
     <table id="example" class="display nowrap" width="100%"> 
 
     <thead> 
 
      <tr> 
 
      <th>Name</th> 
 
      <th>Position</th> 
 
      <th>Office</th> 
 
      <th>Age</th> 
 
      <th>Start date</th> 
 
      <th>Salary</th> 
 
      </tr> 
 
     </thead> 
 

 
     <tfoot> 
 
      <tr> 
 
      <th>Name</th> 
 
      <th>Position</th> 
 
      <th>Office</th> 
 
      <th>Age</th> 
 
      <th>Start date</th> 
 
      <th>Salary</th> 
 
      </tr> 
 
     </tfoot> 
 

 
     <tbody> 
 
      <tr> 
 
      <td>Tiger Nixon</td> 
 
      <td>System Architect</td> 
 
      <td>Edinburgh</td> 
 
      <td>61</td> 
 
      <td>2011/04/25</td> 
 
      <td>$3,120</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Garrett Winters</td> 
 
      <td>Director</td> 
 
      <td>Edinburgh</td> 
 
      <td>63</td> 
 
      <td>2011/07/25</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Ashton Cox</td> 
 
      <td>Technical Author</td> 
 
      <td>San Francisco</td> 
 
      <td>66</td> 
 
      <td>2009/01/12</td> 
 
      <td>$4,800</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Cedric Kelly</td> 
 
      <td>Javascript Developer</td> 
 
      <td>Edinburgh</td> 
 
      <td>22</td> 
 
      <td>2012/03/29</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jenna Elliott</td> 
 
      <td>Financial Controller</td> 
 
      <td>Edinburgh</td> 
 
      <td>33</td> 
 
      <td>2008/11/28</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Brielle Williamson</td> 
 
      <td>Integration Specialist</td> 
 
      <td>New York</td> 
 
      <td>61</td> 
 
      <td>2012/12/02</td> 
 
      <td>$4,525</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Herrod Chandler</td> 
 
      <td>Sales Assistant</td> 
 
      <td>San Francisco</td> 
 
      <td>59</td> 
 
      <td>2012/08/06</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Rhona Davidson</td> 
 
      <td>Integration Specialist</td> 
 
      <td>Edinburgh</td> 
 
      <td>55</td> 
 
      <td>2010/10/14</td> 
 
      <td>$6,730</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Colleen Hurst</td> 
 
      <td>Javascript Developer</td> 
 
      <td>San Francisco</td> 
 
      <td>39</td> 
 
      <td>2009/09/15</td> 
 
      <td>$5,000</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Sonya Frost</td> 
 
      <td>Software Engineer</td> 
 
      <td>Edinburgh</td> 
 
      <td>23</td> 
 
      <td>2008/12/13</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jena Gaines</td> 
 
      <td>System Architect</td> 
 
      <td>London</td> 
 
      <td>30</td> 
 
      <td>2008/12/19</td> 
 
      <td>$5,000</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Quinn Flynn</td> 
 
      <td>Financial Controller</td> 
 
      <td>Edinburgh</td> 
 
      <td>22</td> 
 
      <td>2013/03/03</td> 
 
      <td>$4,200</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Charde Marshall</td> 
 
      <td>Regional Director</td> 
 
      <td>San Francisco</td> 
 
      <td>36</td> 
 
      <td>2008/10/16</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Haley Kennedy</td> 
 
      <td>Senior Marketing Designer</td> 
 
      <td>London</td> 
 
      <td>43</td> 
 
      <td>2012/12/18</td> 
 
      <td>$4,800</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Tatyana Fitzpatrick</td> 
 
      <td>Regional Director</td> 
 
      <td>London</td> 
 
      <td>19</td> 
 
      <td>2010/03/17</td> 
 
      <td>$2,875</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Michael Silva</td> 
 
      <td>Senior Marketing Designer</td> 
 
      <td>London</td> 
 
      <td>66</td> 
 
      <td>2012/11/27</td> 
 
      <td>$3,750</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Paul Byrd</td> 
 
      <td>Javascript Developer</td> 
 
      <td>New York</td> 
 
      <td>64</td> 
 
      <td>2010/06/09</td> 
 
      <td>$5,000</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Gloria Little</td> 
 
      <td>Systems Administrator</td> 
 
      <td>New York</td> 
 
      <td>59</td> 
 
      <td>2009/04/10</td> 
 
      <td>$3,120</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Bradley Greer</td> 
 
      <td>Software Engineer</td> 
 
      <td>London</td> 
 
      <td>41</td> 
 
      <td>2012/10/13</td> 
 
      <td>$3,120</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Dai Rios</td> 
 
      <td>System Architect</td> 
 
      <td>Edinburgh</td> 
 
      <td>35</td> 
 
      <td>2012/09/26</td> 
 
      <td>$4,200</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jenette Caldwell</td> 
 
      <td>Financial Controller</td> 
 
      <td>New York</td> 
 
      <td>30</td> 
 
      <td>2011/09/03</td> 
 
      <td>$4,965</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Yuri Berry</td> 
 
      <td>System Architect</td> 
 
      <td>New York</td> 
 
      <td>40</td> 
 
      <td>2009/06/25</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Caesar Vance</td> 
 
      <td>Technical Author</td> 
 
      <td>New York</td> 
 
      <td>21</td> 
 
      <td>2011/12/12</td> 
 
      <td>$4,965</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Doris Wilder</td> 
 
      <td>Sales Assistant</td> 
 
      <td>Edinburgh</td> 
 
      <td>23</td> 
 
      <td>2010/09/20</td> 
 
      <td>$4,965</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Angelica Ramos</td> 
 
      <td>System Architect</td> 
 
      <td>London</td> 
 
      <td>36</td> 
 
      <td>2009/10/09</td> 
 
      <td>$2,875</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Gavin Joyce</td> 
 
      <td>Developer</td> 
 
      <td>Edinburgh</td> 
 
      <td>42</td> 
 
      <td>2010/12/22</td> 
 
      <td>$4,525</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jennifer Chang</td> 
 
      <td>Regional Director</td> 
 
      <td>London</td> 
 
      <td>28</td> 
 
      <td>2010/11/14</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Brenden Wagner</td> 
 
      <td>Software Engineer</td> 
 
      <td>San Francisco</td> 
 
      <td>18</td> 
 
      <td>2011/06/07</td> 
 
      <td>$3,750</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Ebony Grimes</td> 
 
      <td>Software Engineer</td> 
 
      <td>San Francisco</td> 
 
      <td>48</td> 
 
      <td>2010/03/11</td> 
 
      <td>$2,875</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Russell Chavez</td> 
 
      <td>Director</td> 
 
      <td>Edinburgh</td> 
 
      <td>20</td> 
 
      <td>2011/08/14</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Michelle House</td> 
 
      <td>Integration Specialist</td> 
 
      <td>Edinburgh</td> 
 
      <td>37</td> 
 
      <td>2011/06/02</td> 
 
      <td>$3,750</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Suki Burks</td> 
 
      <td>Developer</td> 
 
      <td>London</td> 
 
      <td>53</td> 
 
      <td>2009/10/22</td> 
 
      <td>$2,875</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Prescott Bartlett</td> 
 
      <td>Technical Author</td> 
 
      <td>London</td> 
 
      <td>27</td> 
 
      <td>2011/05/07</td> 
 
      <td>$6,730</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Gavin Cortez</td> 
 
      <td>Technical Author</td> 
 
      <td>San Francisco</td> 
 
      <td>22</td> 
 
      <td>2008/10/26</td> 
 
      <td>$6,730</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Martena Mccray</td> 
 
      <td>Integration Specialist</td> 
 
      <td>Edinburgh</td> 
 
      <td>46</td> 
 
      <td>2011/03/09</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Unity Butler</td> 
 
      <td>Senior Marketing Designer</td> 
 
      <td>San Francisco</td> 
 
      <td>47</td> 
 
      <td>2009/12/09</td> 
 
      <td>$3,750</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Howard Hatfield</td> 
 
      <td>Financial Controller</td> 
 
      <td>San Francisco</td> 
 
      <td>51</td> 
 
      <td>2008/12/16</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Hope Fuentes</td> 
 
      <td>Financial Controller</td> 
 
      <td>San Francisco</td> 
 
      <td>41</td> 
 
      <td>2010/02/12</td> 
 
      <td>$4,200</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Vivian Harrell</td> 
 
      <td>System Architect</td> 
 
      <td>San Francisco</td> 
 
      <td>62</td> 
 
      <td>2009/02/14</td> 
 
      <td>$4,965</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Timothy Mooney</td> 
 
      <td>Financial Controller</td> 
 
      <td>London</td> 
 
      <td>37</td> 
 
      <td>2008/12/11</td> 
 
      <td>$4,200</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jackson Bradshaw</td> 
 
      <td>Director</td> 
 
      <td>New York</td> 
 
      <td>65</td> 
 
      <td>2008/09/26</td> 
 
      <td>$5,000</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Miriam Weiss</td> 
 
      <td>Support Engineer</td> 
 
      <td>Edinburgh</td> 
 
      <td>64</td> 
 
      <td>2011/02/03</td> 
 
      <td>$4,965</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Bruno Nash</td> 
 
      <td>Software Engineer</td> 
 
      <td>London</td> 
 
      <td>38</td> 
 
      <td>2011/05/03</td> 
 
      <td>$4,200</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Odessa Jackson</td> 
 
      <td>Support Engineer</td> 
 
      <td>Edinburgh</td> 
 
      <td>37</td> 
 
      <td>2009/08/19</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Thor Walton</td> 
 
      <td>Developer</td> 
 
      <td>New York</td> 
 
      <td>61</td> 
 
      <td>2013/08/11</td> 
 
      <td>$3,600</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Finn Camacho</td> 
 
      <td>Support Engineer</td> 
 
      <td>San Francisco</td> 
 
      <td>47</td> 
 
      <td>2009/07/07</td> 
 
      <td>$4,800</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Elton Baldwin</td> 
 
      <td>Data Coordinator</td> 
 
      <td>Edinburgh</td> 
 
      <td>64</td> 
 
      <td>2012/04/09</td> 
 
      <td>$6,730</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Zenaida Frank</td> 
 
      <td>Software Engineer</td> 
 
      <td>New York</td> 
 
      <td>63</td> 
 
      <td>2010/01/04</td> 
 
      <td>$4,800</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Zorita Serrano</td> 
 
      <td>Software Engineer</td> 
 
      <td>San Francisco</td> 
 
      <td>56</td> 
 
      <td>2012/06/01</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jennifer Acosta</td> 
 
      <td>Javascript Developer</td> 
 
      <td>Edinburgh</td> 
 
      <td>43</td> 
 
      <td>2013/02/01</td> 
 
      <td>$2,875</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Cara Stevens</td> 
 
      <td>Sales Assistant</td> 
 
      <td>New York</td> 
 
      <td>46</td> 
 
      <td>2011/12/06</td> 
 
      <td>$4,800</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Hermione Butler</td> 
 
      <td>Director</td> 
 
      <td>London</td> 
 
      <td>47</td> 
 
      <td>2011/03/21</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Lael Greer</td> 
 
      <td>Systems Administrator</td> 
 
      <td>London</td> 
 
      <td>21</td> 
 
      <td>2009/02/27</td> 
 
      <td>$3,120</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Jonas Alexander</td> 
 
      <td>Developer</td> 
 
      <td>San Francisco</td> 
 
      <td>30</td> 
 
      <td>2010/07/14</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Shad Decker</td> 
 
      <td>Regional Director</td> 
 
      <td>Edinburgh</td> 
 
      <td>51</td> 
 
      <td>2008/11/13</td> 
 
      <td>$5,300</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Michael Bruce</td> 
 
      <td>Javascript Developer</td> 
 
      <td>Edinburgh</td> 
 
      <td>29</td> 
 
      <td>2011/06/27</td> 
 
      <td>$4,080</td> 
 
      </tr> 
 
      <tr> 
 
      <td>Donna Snider</td> 
 
      <td>System Architect</td> 
 
      <td>New York</td> 
 
      <td>27</td> 
 
      <td>2011/01/25</td> 
 
      <td>$3,120</td> 
 
      </tr> 
 
     </tbody> 
 
     </table> 
 
    </div> 
 
    </body> 
 
</html>

Для результата, он должен показать "Alert" каждый раз, когда пользователи изменить порядок столбцов. Есть что-то, что я пропустил?

+2

Используйте 'colReorder: true' ionstead of columnReorder', затем он работает - см.« 1.3.2/js/dataTables.colReorder.js »в действии здесь -> ** http: //jsfiddle.net/aphpv187/ ** – davidkonrad

+0

@ davidkonrad Оцените, заполните его, добавив обработчик событий. –

+0

А, я вижу. Таким образом, в документации, которую я бы сказал, есть неправильный синтаксис. Благодаря! –

ответ

1

Посмотрите

column-reorder это событие, которое срабатывает, когда колонны, были реорганизованы конечным пользователем или API. Обратите внимание: для этого свойства требуется расширение ColReorder для DataTables.

я изменить свой код так:

$(document).ready(function() { 
$('#example').DataTable({ 
    colReorder: true 
    }); 
}); 

И начинается заново заказа.

Кроме того, ваш обработчик события является совершенным, но жить DataTables JS бен может не поддерживает предупреждение, лучше сделать что-то вроде этого (Предупреждение миновала, использование console.log *):

table.on('column-reorder', function (e, settings, details) { 
    console.log('Hey!! You are fired, column-reorder'); 
    }); 

Для лучшей отладки всегда отследите свою консоль.

Here's my code snippet.

+0

Yup, теперь он работает. В документации есть другой синтаксис. Благодаря! –

Смежные вопросы