jQuery 可排序和 AJAX 问题。 (当列表来自 AJAX 时无法排序)

Posted

技术标签:

【中文标题】jQuery 可排序和 AJAX 问题。 (当列表来自 AJAX 时无法排序)【英文标题】:jQuery sortable and AJAX question. (sortable not working when the list comes from AJAX) 【发布时间】:2010-12-06 14:51:00 【问题描述】:

我有 2 个可排序的列表。第一个是从数据库中获取带有 AJAX 的元素(比如分页,我不希望该列表中同时包含 200 个项目)。第二个一开始是空的,我想用第一个中的元素填充它。

我对 jQuery 和 AJAX 非常陌生,所以我想提前为我所说的任何愚蠢的事情道歉。

当我使用 AJAX 获取元素时,Sortable 无法处理第一个列表。

这是我用于可排序的:

jQuery(文档).ready(函数() jQuery("#sortable1, #sortable2").sortable( 光标:'十字准线', 连接:'.connectedSortable' ).disableSelection() );

这是 AJAX 部分:

jQuery('.nav').click(函数(事件) jQuery.ajax( 类型:“post”,url:“admin-ajax.php”, 数据:动作:'ak_attach','lim':jQuery(event.target).attr(“name”),_ajax_nonce:'', beforeSend: function() jQuery("#loading").fadeIn('fast');, 成功:功能(味精) jQuery(".listContent").html(msg) ); //关闭jQuery.ajax 返回假; ) )

问候, 博

【问题讨论】:

【参考方案1】:

在将新值添加到列表后,您是否正在调用$("#sortable1, #sortable2").sortable( 'refresh' )?这将导致 jquery 看到新值并在需要时采取措施。

http://jqueryui.com/demos/sortable/#method-refresh

【讨论】:

我唯一能想到调用它的地方是在 AJAX 完成或成功之后。还是什么都没有。 你需要在成功函数中调用它,你试过了吗?

以上是关于jQuery 可排序和 AJAX 问题。 (当列表来自 AJAX 时无法排序)的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI 可排序:如果更新回调使 AJAX 调用失败,则恢复更改?

jQuery 可排序和可放置列表

使用可排序的 Jquery 在 Mysql DB 中存储 li 订单

Vue.js 可排序列表 - 通过 AJAX 更新模型并保存更改位置

使用 Rails.ajax 和 jquery 可排序插件时的 ActionView::MissingTemplate

jQuery-UI 可拖动和可排序