我在从其父li
删除列表项ul
时遇到问题。通常我会做以下事情:
$(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 :(得分: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
});
答案 1 :(得分:0)
刚刚注意到我的愚蠢错误:
url缺少.php,因此没有返回代码。