Jquery UI Sortable RowSpan inside Table 问题
Jquery UI Sortable RowSpan inside Table issue
我正在使用 jquery UI 排序小部件对 table 行进行排序。在我的 table 中,我有简单的行和行组 我已经使用 rowspan 来完成行分组。
单排:吉尔、史密斯,50 岁
行组:Eve, Jackson, 94,
简单排序非常有效,但是当我尝试拖动包含一组行的行时,它不起作用。我需要一些输入来知道拖动行组哪里出错了。
检查我的 Js Fiddle : http://jsfiddle.net/rickjackson/3Lbfd8ch/1/
我已经编写了以下代码以在我的代码中启用排序
var fixHelper = function (e, ui) { ui.children().each(function ()
{
$(this).width($(this).width()); }); return ui;
};
$("#t01 tbody").sortable({ helper: fixHelper }).disableSelection();
我需要你在我出错的地方提供意见。
我看了一下这个,我设法让它工作,一旦我为第 2 列和第 3 列有四行的行创建了两个嵌套表。
<table id="t01" style="width: 100%;" border="1">
<tbody class="ui-sortable">
<tr class="ui-sortable-handle">
<td>Jill</td>
<td><div class="columnMargin">Smith</div></td>
<td><div class="columnMargin">50</div></td>
</tr>
<tr class="ui-sortable-handle" data-multiple="true">
<td>Eve</td>
<td>
<table class="multipleRows">
<tr>
<td style="border-style:solid">Jackson</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell2" type="text">
</td>
</tr>
</table>
</td>
<td>
<table class="multipleRows">
<tr>
<td style="border-style:solid">94</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell2" type="text">
</td>
</tr>
</table>
</td>
</tr>
<tr class="ui-sortable-handle">
<td>Jill</td>
<td><div class="columnMargin">Smith</div></td>
<td><div class="columnMargin">50</div></td>
</tr>
<tr class="ui-sortable-handle">
<td>Eve</td>
<td><div class="columnMargin">Jackson</div></td>
<td><div class="columnMargin">94</div></td>
</tr>
</tbody>
</table>
我还更改了 jQueryUI 部分,以对具有 class .ui-sortable-handle
:
的行使用 items 选项
$(document).ready(function () {
$("#t01 tbody").sortable({
items: ".ui-sortable-handle"
}).disableSelection();
});
我想 CSS 样式还有一些微调,但 Sortable 部分仍然有效。所以我希望你觉得没问题:-) Fiddle
我正在使用 jquery UI 排序小部件对 table 行进行排序。在我的 table 中,我有简单的行和行组 我已经使用 rowspan 来完成行分组。
单排:吉尔、史密斯,50 岁 行组:Eve, Jackson, 94,
简单排序非常有效,但是当我尝试拖动包含一组行的行时,它不起作用。我需要一些输入来知道拖动行组哪里出错了。
检查我的 Js Fiddle : http://jsfiddle.net/rickjackson/3Lbfd8ch/1/
我已经编写了以下代码以在我的代码中启用排序
var fixHelper = function (e, ui) { ui.children().each(function ()
{
$(this).width($(this).width()); }); return ui;
};
$("#t01 tbody").sortable({ helper: fixHelper }).disableSelection();
我需要你在我出错的地方提供意见。
我看了一下这个,我设法让它工作,一旦我为第 2 列和第 3 列有四行的行创建了两个嵌套表。
<table id="t01" style="width: 100%;" border="1">
<tbody class="ui-sortable">
<tr class="ui-sortable-handle">
<td>Jill</td>
<td><div class="columnMargin">Smith</div></td>
<td><div class="columnMargin">50</div></td>
</tr>
<tr class="ui-sortable-handle" data-multiple="true">
<td>Eve</td>
<td>
<table class="multipleRows">
<tr>
<td style="border-style:solid">Jackson</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell2" type="text">
</td>
</tr>
</table>
</td>
<td>
<table class="multipleRows">
<tr>
<td style="border-style:solid">94</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell1" type="text">
</td>
</tr>
<tr>
<td style="background-color: lightblue;">
<input name="cell2" type="text">
</td>
</tr>
</table>
</td>
</tr>
<tr class="ui-sortable-handle">
<td>Jill</td>
<td><div class="columnMargin">Smith</div></td>
<td><div class="columnMargin">50</div></td>
</tr>
<tr class="ui-sortable-handle">
<td>Eve</td>
<td><div class="columnMargin">Jackson</div></td>
<td><div class="columnMargin">94</div></td>
</tr>
</tbody>
</table>
我还更改了 jQueryUI 部分,以对具有 class .ui-sortable-handle
:
$(document).ready(function () {
$("#t01 tbody").sortable({
items: ".ui-sortable-handle"
}).disableSelection();
});
我想 CSS 样式还有一些微调,但 Sortable 部分仍然有效。所以我希望你觉得没问题:-) Fiddle