Jquery 拖放以重新排列行时,表及其行的宽度会发生变化
我想有一个表,它允许我拖放来重新排序它的行 我发现这篇文章很有帮助: 本文给出了一个解决方案,其JSFIDLE示例如下: 下面是它的Javascript:Jquery 拖放以重新排列行时,表及其行的宽度会发生变化,jquery,jquery-ui,drag-and-drop,Jquery,Jquery Ui,Drag And Drop,我想有一个表,它允许我拖放来重新排序它的行 我发现这篇文章很有帮助: 本文给出了一个解决方案,其JSFIDLE示例如下: 下面是它的Javascript: var fixHelperModified = function(e, tr) { var $originals = tr.children(); var $helper = tr.clone(); $helper.children().each(function(index) { $(this).w
var fixHelperModified = function(e, tr) {
var $originals = tr.children();
var $helper = tr.clone();
$helper.children().each(function(index) {
$(this).width($originals.eq(index).width())
});
return $helper;
},
updateIndex = function(e, ui) {
$('td.index', ui.item.parent()).each(function (i) {
$(this).html(i + 1);
});
};
$("#sort tbody").sortable({
helper: fixHelperModified,
stop: updateIndex
}).disableSelection();
然而,在我看来,这个解决方案并没有完全奏效。如果你拖到“上帝保佑你,罗斯沃特先生”这一行,你知道我在说什么
这能修好吗
谢谢 这是因为宽度是动态更新的。如果找到最宽的
标题元素,然后将所有
标题元素设置为该宽度,则不会出现表格重新调整大小的问题
var maxWidth = 0;
$('#sort td:nth-child(3)').each(function(){
if(maxWidth < $(this).width())
maxWidth = $(this).width();
});
$('#sort td:nth-child(3)').css('width',maxWidth);
var maxWidth=0;
$(“#对td:n个子项(3)”进行排序。每个(函数(){
如果(maxWidth<$(this).width())
maxWidth=$(this.width();
});
$(“#排序td:n子项(3)”.css('width',maxWidth);
例如:
Trevor,这真是太聪明了。我没有想到这一点,尝试了其他一些事情。万分感谢!特雷弗,我还有另外一个因素,它破坏了你提供的解决方案。有什么想法吗?以下是帖子: