Мои подключенные сортируемые файлы работают отлично, но я пытаюсь сделать одно улучшение:
Если пользователь перетаскивает элемент в сортируемую "#buttonmaker", я хочу обновить всю страницу.
Что происходит, если пользователь перетаскивает элемент в сортируемую кнопку-кнопку, моя страница ajax sorting.php обновляет базу данных с помощью новой кнопки меню, основанной на элементе, который выпал пользователь. После этого страницаобновиться, чтобы пользователь мог видеть новую кнопку меню, которую он только что создал.
95% времени, хотя пользователи не будут использовать #buttonmaker
, и мне не нужно обновлять страницу ... ajaxделает это вещьТолько для этого #buttonmaker
контейнера мне нужно обновить страницу.Спасибо за любую помощь.
$(function() {
$("#draft, #trash, #a_bunch_more_divs, #buttonmaker").sortable({
connectWith: '.connectedSortable',
placeholder: 'ui-state-highlight',
opacity: 0.6,
scroll: true,
update : function ()
{
$.ajax(
{
type: "POST",
url: "sorting.php",
data:
{
draft_sort:$("#draft").sortable('serialize'),
trash_sort:$("#trash").sortable('serialize'),
other_sort:$("#a_bunch_more_divs").sortable('serialize'),
buttonmaker_sort:$("#buttonmaker").sortable('serialize')
}
});
}
}).disableSelection();
});
Обновленный код (я изменил несколько косметических вещей со времени оригинального сообщения):
$(function() {
var refreshNeeded = false;
$("#draft, #published, #trash").sortable({
connectWith: '.connectedSortable',
placeholder: 'ui-state-highlight',
opacity: 0.6,
scroll: true,
update : function (event, ui)
{
var $sortable = $(this);
if(ui.item.parent()[0] != this) return;
var postData = {};
postData[$sortable.attr('id') + '_sort'] = $sortable.sortable('serialize');
if(ui.sender){
postData[$sortable.attr('id') + '_sort'] = ui.sender.sortable('serialize');
}
$.ajax(
{
type: "POST",
url: "js/post_sorting.php",
data: postData,
success: function() {
if(($sortable.attr('id') == "published")) refreshNeeded = true;
/*window.location.reload(true);*/
}
});
}
}).disableSelection();
$(document).ajaxStop(function(){
if(refreshNeeded){
window.location.reload();
}
});
});