2016-03-31 7 views
0

Я использую плагин JQuery перетащить столбцы таблицы, чтобы изменить их, как показано нижеПрисоединить Jquery функцию плагин для динамически создаваемых DOM элементов

$("#myTable").dragtable(); 

Он отлично работает для существующей таблицы, и я могу перетащить столбцы таблицы. Однако мне нужно динамически добавлять строки в myTable, но я не могу перетащить динамически добавленный столбец.

Я посмотрел документацию на метод .live, но не уверен, как использовать его в своем сценарии.

любое предложение?

ответ

0

Вы не можете использовать. Живой в этой ситуации. Вам нужно будет просто позвонить .dragtable() для каждого добавляемого вами нового элемента.

+0

таблица уже существует в DOM, строки добавляются динамически и .dragtable() вызывается только один раз на столе например: $ ("# myTable"). dragtable(). Итак, что мне нужно сделать в этом сценарии? –

1

Вы можете сделать так:

$('.defaultTable').dragtable('destroy').dragtable({}); 

Полный пример:

$('.defaultTable').dragtable(); 
 
$('#add-column').click(function(e){ 
 
     var tbody = $('.defaultTable').find('tbody'), 
 
      thead = $('.defaultTable').find('thead'); 
 
      tbody.find('tr').each(function(){ 
 
      var tr = $(this); 
 
      tr.append('<td>Some column</td>'); 
 
      }); 
 
      thead.find('tr').each(function(){ 
 
      var tr = $(this); 
 
      tr.append('<th>appended column header</th>'); 
 
      }); 
 
      $('.defaultTable').dragtable('destroy').dragtable({}); 
 
    });
<link href="https://rawgit.com/akottr/dragtable/master/dragtable.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> 
 
<script src="https://rawgit.com/akottr/dragtable/master/jquery.dragtable.js"></script> 
 
<span id="add-column">Add column</span> 
 

 
<table class="defaultTable sar-table"> 
 
     <thead> 
 
      <tr> 
 
      <th>TIME</th> 
 
      <th>%user</th> 
 
      <th>%nice</th> 
 
      <th>%system</th> 
 
      <th>%iowait</th> 
 
      <th>%idle</th> 
 
      </tr> 
 
     </thead> 
 

 
     <tbody> 
 
      <tr> 
 
      <td>12:10:01 AM</td><td>28.86</td><td>0.04</td><td>1.65</td><td>0.08</td><td>69.36</td> 
 
      </tr> 
 
      <tr> 
 
      <td>12:20:01 AM</td><td>26.54</td><td>0.00</td><td>1.64</td><td>0.08</td><td>71.74</td> 
 

 
      </tr> 
 
      <tr> 
 
      <td>12:30:01 AM</td><td>29.73</td><td>0.00</td><td>1.66</td><td>0.09</td><td>68.52</td> 
 
      </tr> 
 
     </tbody> 
 
     </table> 
 

 

+0

Это сработало. Спасибо за ваше полное решение. –

+0

Добро пожаловать! – AlmasK89

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