2011-12-04 27 views
0

我是新來的ajax世界,並希望你們可以幫忙。ajax/jquery幫助 - 點擊時顯示一個動態創建的列表項目

目前,我可以通過ajax動態創建項目列表。我遇到的問題是,當我點擊由ajax創建的列表項時,它會顯示所有列表項。我只想顯示我點擊的列表項。

下面是一個代碼片段,讓你知道我在做什麼。

$(document).ready(function() { 

$('div.calendar_content').click(function() { 
    $('#product_list ol li').remove(); 
     day_num = $(this).prev().text(); 
     if(day_num.length == 1) 
     { 
      day_num = 0 +day_num; 
     } 
     today_date = <?=$year ?> +'-'+<?= $month; ?>+'-' +day_num; 

     $.ajax({ 
      type: "POST", 
      url: "<?= site_url()?>/admin/post_rooms", 
      data: {'today_date':today_date}, 
      dataType: 'json', 
      success: function(data){ 
       $.each(data.returned_val, function(key,value){ 
        content = '<li id='+value.res_id+'>Dorm Room '+ value.room_no +' '+value.first_name+' '+value.last_name+'</li>';  
        $(content).appendTo("#product_list ol"); 
       }); 
      } 
     }); 
    }); 

    $("#product_list ol ").click(function(){ 
     alert($('#product_list ol li').text()); 
    }); 
}); 

回答

0
$("#product_list ol li").on('click', function(){ 
    alert($(this).text()); 
}); 
+0

你好,謝謝你的幫助。我試過但在firebug中收到一個錯誤:$(「#product_list ol li」)on不是函數 – tray

+0

也許你的jQuery版本太舊了,他們在v1.7中添加了'on'功能(檢查http:///api.jquery.com/category/version/1.7/) – Minkiele

0
success: function(data){ 
    $.each(data.returned_val, function(key,value){ 
     content = '<li id='+value.res_id+'>Dorm Room '+ value.room_no +' '+value.first_name+' '+value.last_name+'</li>';  
     $(content).appendTo("#product_list ol"); 
    }); 
    //The hiding part 
    $("#product_list ol > li").click(function(){ 
     $(this).siblings().hide(); 
    }); 
} 

這樣AFER你產生他們你註冊的列表項單擊事件。當你點擊該物品時,該功能將獲得所有物品的siblings並隱藏它們。

相關問題