JQuery перетаскивать, удалять и сортировать - PullRequest
0 голосов
/ 24 июня 2011

У меня есть таблица с левой и правой кол.Внутри столбцов несколько небольших таблиц (в виде элементов) из цикла PHP.Я хотел бы сделать возможным перетаскивать элементы слева направо, а также изменить сортировку внутри самого col.Очень тяжело для меня!

Вот мой код: часть HTML (левый столбец, но правый тот же)

<style>
.deplace{
cursor:move;
}
</style>

<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr>
<td id="leftMenu" valign="top" style="width:180px;height:800px;border:1px solid black">
<?php

while($rowg = mysql_fetch_assoc($sqlg)){

echo '<table width="100%" cellpadding="5" cellspacing="2" 
style="background-color:#CCC;border: 1px solid black;height:100px" 
class="deplace" id="left_'.$rowg['id'].'" modulename="'.modif_nom($rowg['module']).'"     sourceid="'.$rowg['id'].'">

echo '<tr><td" align="center" style="width:100%">'.$rowg['module'].'</td></tr>';

echo '</table>';
}
?>
</td></tr></table>

И код JS:

<script language="javascript" type="text/javascript">
$(document).ready(function() {  //

$('#leftMenu').Sortable({
  //revert: true,
  accept: 'deplace',
  axis : 'vertically',

  onchange: function(event, ui) { 
    serial = $.SortSerialize('leftMenu');
    $.ajax ( {
    url : "xhr.php?source=leftMenu",
    type : "get",
    data : serial.hash,
    success: function(data){alert(data);}
    });

  }
});

$('#rightMenu').Sortable({
  //revert: true,
  accept: 'deplace',
  axis : 'vertically',

  onchange: function(event, ui) { 
    serial = $.SortSerialize('rightMenu');
    $.ajax ( {
    url : "xhr.php?source=rightMenu",
    type : "get",
    data : serial.hash,
    success: function(data){alert(data);}
    });

  }
});
//only the functions to move the tables from left to right
$('#rightMenu').draggable({
    revert:false,
    helper:'original',

});

$('#leftMenu').droppable({
    over:function(event, ui){                     
    alert('dropped');
    }
});
});
</script>

Так вот, похоже, что есть конфликт между функциями.Если я позволю только сортируемым функциям, это нормально, но я ничего не могу сделать в столбце получателя, и я хотел бы отправить запрос в PHP для обновления таблицы MySQL.

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 24 июня 2011

Есть несколько проблем с вашим кодом:

  • Sortable в нижнем регистре
  • SortSerialize не существует, я думаю, вы имеете в виду sortable("serialize")
  • $('#rightMenu').draggable следует изменить на $('#rightMenu').children().draggable, потому что вы хотите перетащить элементы внутри меню

Посмотрите также на jQuery UI Sortable doc .

...