我試圖實現拖放操作,因此我可以對數據列表進行排序,並使用相關位置更新數據庫。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