Я пытаюсь реализовать перетаскивание, чтобы я мог сортировать списки данных и обновлять базу данных соответствующими позициями.
У меня есть рабочий пример, но когда я пытаюсь использовать тот же код в списках, которые вводятся через ajax, событие является обязательным, но ни один из его методов не запускается, и элементы не меняются местами (они меняются при отпусти мышку)
вот мой HTML
<ul class='sortable'>
<li>
<ul>
<li>Data</li>
<li>Data2</li>
</ul>
</li>
<li>
<ul>
<li>Data3</li>
<li>Data4</li>
</ul>
</li>
</ul>
и тогда мой JavaScript выглядит следующим образом. Я только хочу поменять местами UL. Т.е. списки, содержащие li Data2 и т. Д.
$(document).ready(function()
{
//$(".sortable").disableSelection();
$(".sortable").live("dblclick", function()
{
$(".sortable").sortable({
update : function()
{
alert("update");
}
});
});
});
Использование такого события, как двойной щелчок или щелчок, было единственным способом, которым я мог связать событие вообще. Использование сортируемой не работает.
Вот код, который я использовал для привязки элемента, а также пример выше
$(document).ready(function()
{
$(".sortable").live("sortable", function()
{
$(".sortable").sortable({
update : function()
{
alert("update");
}
});
});
});
Я также попробовал приведенный выше код без использования .live (), но это тоже не сработало.
Вот код, который загружает список с сервера,
$(".myLink").live("click", function()
{
var id = $(this).attr("id");
var url = base_url + "admin/controller/function/" + id;
showList(url);
return false;
});
//loads data into the form div
function showList(url)
{
var arr = new Array();
$.post(url, arr, function(data)
{
$("#form").html(data);
}, "text");
}
Любые предложения или указатели в правильном направлении помогут.
Спасибо