我试图实现拖放操作,因此我可以对数据列表进行排序,并使用相关位置更新数据库。JQuery Live和Sortable
我有一个工作示例,但是当我尝试在通过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。即含有锂等数据2
$(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");
}
在正确的方向任何建议或指针会有所帮助。
感谢
该列表未被更新它实际上已被添加到页面,除了使用上述的点击事件,我无法将排序绑定到该页面。但是,当用户拖放时,从不触发更新功能。 – Ben 2010-02-05 05:15:50
@Ben,请更新您的问题以包含您尝试绑定元素的代码,包括将新元素动态添加到页面的代码。问题出在那里。 – 2010-02-05 05:19:41
更新了我的问题。任何更多的问题只是让我知道。谢谢 – Ben 2010-02-05 05:26:40