jQuery li id的绝对值
从服务器获取列表并附加到jQuery li id的绝对值,jquery,Jquery,从服务器获取列表并附加到后,我无法获得绝对值的id 从服务器获取: $('#listCategories').empty(); $.post("model/controller.php", { postaction:'getCategoryList' }, function(data){ categoryList = data.message ; console.log( categoryList ); $
后,我无法获得绝对值的
id
从服务器获取:
$('#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;
});
<li class='last'><a href='javascript:void(0);'><span><?php _tr( 'move_topic' ); ?></span></a>
<ul id='listCategories'></ul>
</li>
HTML:
$('#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;
});
<li class='last'><a href='javascript:void(0);'><span><?php _tr( 'move_topic' ); ?></span></a>
<ul id='listCategories'></ul>
</li>
获取和附加类别列表是可以的,我插入它没有问题,但是在单击列表之后,我无法获取事件和
。单击()
不工作。您应该使用委派的li
的而不是绑定到单个元素。更新您的绑定,如下所示:
$('li').on('click', '[id^="moveTo_"]', function(e) {
// Your function here...
});
哦,这是我最喜欢的日常问题。。答案是活动授权。@Zenith please voteUP;)@mahdipishguy您应该在这里查看一些已经给出的答案。为什么不使用类似于$(“li”)的东西。在('click','id^=“moveTo_”]”上,函数(e){
?它的性能不是更好吗?是的,它会,您是对的。但是,我没有查看OP发布的标记(lazy,我知道),所以他不知道他的ID只适用于li
项目。我会更新答案。