jQuery li id绝对值

时间:2013-06-17 08:00:33

标签: jquery

从服务器获取列表后追加到<ul>我无法获得绝对的<li> ID

FETCH FROM SERVER:

$('#listCategories').empty();
$.post("model/controller.php",
    { 
        postaction:'getCategoryList'
    },
    function(data){
        categoryList = data.message ;
        console.log( categoryList );
        $.each( categoryList , function( i , item ){
            alert( "moveTo_"+categoryList[i].id );
            $('#listCategories').append("<li class='has-sub' id = 'moveTo_"+categoryList[i].id+"'><a href='javascript:void(0);'><span>"+categoryList[i].title+"</span></a></li>");
        });

},'json');

点击列表:

$('[id^="moveTo_"]').on('click',function(){
    alert( $(this).attr('id') );
   $('[id^="cssmenu"]').hide(); // HIDE ALL SUBMENUS
   category_id = $(this).attr('id').split(/\_/)[1] ;
   $.post('model/controller.php', 
            {
                topic_id     : public_iId_topics  ,
                category_id  : category_id ,
                postaction   : 'move_current_post_category'
            }, 
      function(data){
            if (data.success){
                public_oTable.dataTable().fnReloadAjax();
                public_oTable.dataTable().fnDraw();
                animate_notify(data.message     , 2000 , '.content','',410,437);
            }
            else
                animate_notify(data.message     , 2000 , '.content','',410,437);
    },'json');
    return false;       
});

HTML:

   <li class='last'><a href='javascript:void(0);'><span><?php _tr( 'move_topic' ); ?></span></a>
       <ul id='listCategories'></ul>
   </li>

获取并追加类别列表是好的,我没有插入的问题,但点击列表后我无法获取事件而.click()无法正常工作。

1 个答案:

答案 0 :(得分:1)

您应该使用委派的li on,而不是绑定到各个元素。更新您的绑定,如下所示:

$('li').on('click', '[id^="moveTo_"]', function(e) {
    // Your function here...
});