我在我的邊欄中填充了一個小框,由ajax填充。我有2個Ajax功能:一個添加項目到列表中,第二個刪除它們,如果用戶點擊刪除按鈕。我的HTML是一個簡單的無序列表,像這樣:Ajax功能,直播電話?
<ul id="listaruta" class="lista">
<li>Item</li>
<li>Item</li>
</ul>
每次我調用任何兩個函數,他們會爲一個更新(插入或刪除之後,選擇從數據庫中項目)更換UL列表。他們工作正常,直到我想要在將項目插入列表後立即刪除。
我插入AJAX功能(另一個非常類似):
var valor=$("#alcrearuta").attr('class');
$("#alcrearuta").click(function(){
$.ajax({
type: "GET",
url: "../ajax/ruta.php",
data: "url=" + valor,
dataType: 'html',
success: function(data) {
$("#listaruta").html(data);
}
});
});
我ruta.php文件給我具有相同的結構與原始另一UL名單,只是更新的項目。
據我瞭解,由於我通過我的ajax函數更新了ul,其他函數並不知道列表已更新,它只是「記住」較早的列表,因此它什麼也不做。如果我刷新頁面,它將毫無問題地刪除。我猜這可以通過使用live()來解決?但我不知道...
編輯:好吧,現在我可以讓我的ajax調用工作,除了當我更新後,我刪除權利,我傳遞給ruta.php文件(該變量將幫助我找到我需要從數據庫中刪除的字段)將被設置爲'undefined'給我一個像這樣的查詢:從poi選擇ID其中url ='undefined'
再次,如果我重新加載,它會工作。我做的AJAX功能上的改變是:
$("#alcrearuta").live('click',function(){
$.ajax({
....
});
});
它有所不同,它現在刪除,但它獲得了valor的一個錯誤值,它從列表中的第一個項目而不是我點擊的第一個項目獲取URL。 – 2011-06-16 07:45:55
我應該使用$(this).attr('class');代替? – 2011-06-16 08:32:15
是的,那是我所需要的,現在它已經獲得了適當的價值。謝謝。 – 2011-06-16 08:53:12