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 在 Mysql DB 中存储 li 订单
Vue.js 可排序列表 - 通过 AJAX 更新模型并保存更改位置