I'm trying to make category changes with Jquery & Php. I have no problem with it. My problem is, when the update event is called, it returning 2 results. 1 result for Dragged Parent, One result for Dropped Parent. I wanna call only dropped parent's id. Here is my script:
$("#gallery ul").sortable({
connectWith: '.dropBox',
opacity: 0.35,
scroll: true,
scrollSensitivity: 100,
//handle: '.move',
helper: 'clone',
containment:'#gallery',
accept:'#gallery > .photo',
revert: true,
update: function(event, ui){
params = 'c=' + $(this).attr('id') + '&id=' + ui.item.attr('id');
$.ajax({
type: 'POST',
url: 'processData.php',
data: params,
error:function(){
alert("Error!");
},
success:function(data){
$("#serverResponse").html(data);
}
});
}
}).disableSelection();
Can you help me guys?
Use update
, stop
and receive
events, for example
$(function() {
position_updated = false; //flag bit
$(".sortable").sortable({
connectWith: ".sortable",
update: function(event, ui) {
position_updated = !ui.sender; //if no sender, set sortWithin flag to true
},
stop: function(event, ui) {
if (position_updated) {
//code
position_updated = false;
}
},
receive: function(event, ui) {
// code
}
}).disableSelection();
});
ui.sender
only exists in second callback.
$(".sortable").sortable({
connectWith: ".sortable",
update: function (evt, ui) {
// just ignore the second callback
if(ui.sender == null){
// call ajax here
}
},
receive: function (evt, ui) {
// called after the first 'update'
// and before the second 'update'
// ui.sender is always exists here
}
}).disableSelection();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With