2016-07-06 3 views
2

У меня есть таблица HTML, которая имеет по 2 ячейки для каждой строки.Таблица td и jquery - установить одинаковое число TD для каждого TR

Я использую jquery-ui-sortable путем перетаскивания и сортировки «td», но номер TD для каждой строки, к сожалению, может измениться.

Я хочу, чтобы после сортировки «td» должен был автоматически заказывать, чтобы они возвращались к двум для каждой строки.

Благодаря

$(function() { 
 
    $("#sortable").sortable({items: 'td'}); 
 
    $("#sortable").disableSelection(); 
 
\t 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<table id="sortable"> 
 
<tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
</tr> 
 
<tr> 
 
    <td>3</td> 
 
    <td>4</td> 
 
</tr> 
 
<tr> 
 
    <td>5</td> 
 
    <td>6</td> 
 
</tr> 
 
</table>

ответ

1

Чтобы это исправить, нужно перегруппировать в td элементах в строки 2 после сортировки действия заканчивается. Попробуйте это:

$(function() { 
 
    $("#sortable").sortable({ 
 
    items: 'td', 
 
    stop: function() { 
 
     var $table = $('#sortable'); 
 
     var $tds = $table.find('td'); 
 
     $table.empty(); 
 
     for (var i = 0; i < $tds.length; i += 2) { 
 
     $tds.slice(i, i + 2).wrapAll("<tr></tr>").parent().appendTo($table); 
 
     } 
 
    } 
 
    }); 
 
    $("#sortable").disableSelection(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<table id="sortable"> 
 
    <tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
    </tr> 
 
    <tr> 
 
    <td>3</td> 
 
    <td>4</td> 
 
    </tr> 
 
    <tr> 
 
    <td>5</td> 
 
    <td>6</td> 
 
    </tr> 
 
</table>

+0

Он отлично работает, НО ... после того, как функция «стоп» «вид» остается неактивной, пока я не сделать второй щелчок. К сожалению, это видно только в моем программном обеспечении ... код слишком велик для публикации здесь –