JQuery перетаскивание и сортировка

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

Вот мой код: часть 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.

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


person Renaud63    schedule 24.06.2011    source источник


Ответы (1)


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

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

Ознакомьтесь также с документом jQuery UI Sortable.

person Manuel Leuenberger    schedule 24.06.2011
comment
Привет. Нет, с этим все в порядке. Пожалуйста, ознакомьтесь с документацией по этому плагину: [ССЫЛКА]interface.eyecon.ro/docs/sort - person Renaud63; 24.06.2011
comment
@ Renaud63: Хорошо, я не понял, что вы используете библиотеку интерфейса. Не могли бы вы уточнить в своем вопросе, какие библиотеки вы используете? Это интерфейс jQuery или Интерфейс - или оба варианта? - person Manuel Leuenberger; 24.06.2011