gpt4 book ai didi

jquery - 如何在ui-sortable中手动触发 'update'

转载 作者:行者123 更新时间:2023-12-01 00:40:31 27 4
gpt4 key购买 nike

我正在使用可排序的 UI,每个项目中都有一个删除按钮。这是删除功能:

$('.delete_item').click(function(){
$(this).closest('.grid_3_b').remove();
initSortable();
$(".sortable").sortable('refresh').trigger('update');
});

div 已按照我的意愿删除,但是没有 update 数据发送到 PHP。所以我的脚本不会保存订单和已删除的项目。 .

这是我的 initSortable(); 函数:

function initSortable() {
$( ".sortable" ).sortable({
items: '.grid_3_b, .dropable',
connectWith: ".sortable",
placeholder: "placeholder",
remove: function(event, ui) {
if(!$('div', this).length) {
$(this).next('.dropable').remove();
$(this).remove();
}
initMenu();
},
receive: function(event, ui) {
if( $(this).hasClass( "dropable" ) ) {
if( $(this).hasClass( "gallery__item--active" ) ) {
$(this).before( "<div class=\"dropable gallery__item sortable\"></div>" );
$(this).after( "<div class=\"dropable gallery__item sortable\"></div>" );

initSortable();
$(".sortable").sortable('refresh').trigger('update');
initMenu();
}
}
},
update : function () {
var neworder = new Array();
$('.sortable').each(function() {
var id = $(this).attr("id");
var pusharray = new Array();
$('#' + id).children('div').each(function () {
var art = $(this).attr("data-art");
var pos = $(this).attr("data-pos");
pusharray.push( {data:{'art':art, 'pos':pos}} );
});
neworder.push({'id':id, 'articles':pusharray});
});

$.post("example.php",{'neworder': neworder},function(data){});
initMenu();
}
}).disableSelection();
}

initSortable();

此外,remove 函数通常会在列为空时删除该列,但在删除该列中的最新项目时不起作用。这是因为未调用更新触发器吗?

最佳答案

用于手动触发 jquery-ui sortable 中的事件,您不需要在选项对象中指定处理程序,而是需要在可排序初始化后绑定(bind)事件处理程序。

例如以下内容将不起作用

$('ul').sortable({
update: function () {
console.log('update called');
}
});
$('ul').trigger('sortupdate'); // doesn't work

以下作品

$('ul').sortable();
$('ul').on('sortupdate',function(){
console.log('update called');
});
$('ul').trigger('sortupdate'); // logs update called.

Demo

关于jquery - 如何在ui-sortable中手动触发 'update',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23057755/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com