2013-03-05 74 views
0

我在从其父母ul删除列表项li时出现问题。通常我会做到以下几点:JQuery删除附加的文件

$(this).closest('li').remove(); 

$(this).parent().remove(); 

由于列表项通过一个形式,我认为有一个与this使用一个问题附加到页面。

我的代码,追加li如下:

$(document).on('click', '.add_section', function(){ 
var section_title=$('.section').val(); 
var menu_type=$('.menu_type_sel').val(); 
var rest_id=$('body').data('rest_id'); 
var menu_id=$('body').data('menu_id'); 
var error=false; 
if(section_title=="") 
{ 
    $('.error_box13').eq(2).html("<p>Please Add a Section Title</p>"); 
    $('.error_box13').eq(2).show(300); 
    error=true; 
    return; 
} 

var data="section="+section_title+"&rest_id="+rest_id+"&menu_id="+menu_id+"&menu_type="+menu_type; 

$.ajax({ 
    type:"POST", 
    url:"includes/write_section.php", 
    data:data, 
    success:function(html){ 
     if(html!="x") 
     { 
     var app_section=""; 
     app_section="<li class='hover' id='menu_"+html+"'>"+section_title+" <a href='javascript:void(0);' class='delete_section' data-id='"+html+"'>[x]</a></li>"; 
     $(app_section).appendTo('#sortme'); 
     $('.section').val(""); 
     } 
    } 
});//end ajax 
}); 

要删除li到目前为止我有:

$(document).on('click', '.delete_section', function(){ 
var delete_id=$(this).data('id'); 
var data="id="+delete_id; 
alert(data); 
$.ajax({ 
    type:"POST", 
    url:"includes/delete_section", 
    data:data, 
    context:this, 
    success:function(html){ 
     if(html!="X") 
     { 
      $(this).closest('li').remove(); 
      return false; 
     } 
    } 
});//end ajax 
}); 

我已经加入了context:位作为试验但是,这仍然不要删除li

+0

请给一个小提琴 – 2013-03-05 12:39:43

回答

0

只注意到我愚蠢的错误:

URL是缺少了.PHP因此没有返回代码。

0

尝试旧的var that = this把戏。

$(document).on('click', '.delete_section', function(){ 
    var delete_id=$(this).data('id'); 
    var data="id="+delete_id; 
    var that = this; 
    $.ajax({ 
     type:"POST", 
     url:"includes/delete_section", 
     data:data, 
     context:this, 
     success:function(html){ 
      if(html!="X") 
      { 
       $(that).closest('li').remove(); 
       return false; 
      } 
     } 
    });//end ajax 
}); 
+0

我其实认为这上面会工作,但仍然没有运气。可能注意到'li'元素可以使用jquery_ui.js进行排序/拖动 – Sideshow 2013-03-05 12:48:26