从页面中删除选中的元素

时间:2013-04-05 21:55:57

标签: php jquery

我有这个脚本通过jquery.form addon发送帖子:

$(document).ready(function() { 
        $('#submit_btn').on('click', function(e)            { 
            $("#preview").html('');
            $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#imageform").ajaxForm({
        target: '#preview',
        success:  afterSuccess //call function after 
        }); 
    });
});        
function afterSuccess()
{
$('#imageform').resetForm();
$('.ImgStatus').appendTo('.img');
}

并得到一个HTML响应。

<div id="<?php echo $RandNumber; ?>" class="ImgStatus">
<input id="<?php echo $RandNumber; ?>" type="checkbox" name="<?php echo $RandNumber; ?>" />                              
<img src='upload/<?php echo $actual_image_name; ?>' class='preview'>
</div>

当我点击删除按钮时,我要做的是删除与复选框ID对应的div。并且还将$ _POST发送到带有已检查div的php页面。到目前为止,我有类似的东西,但当我按下按钮时,它不会删除元素...

$("#clickme").click(function(e){    
var selected = $(".img input:checked").map(function(i,el){return el.name;}).get();   
$(selected).remove();      
});

jsfiddle.net/aHr6v/3

5 个答案:

答案 0 :(得分:1)

您只需选择所选输入字段(div)的父级,然后将其删除:

$("#clickme").click(function(e){  
    var selected = $(".img input:checked").parent();
    $(selected).remove();
});

以下是一个有效的例子:http://jsfiddle.net/aHr6v/5/

答案 1 :(得分:1)

检查一下:http://jsfiddle.net/aHr6v/6/

根据您在评论中所说的内容,我添加了以下行,按ID搜索div并将其删除

$("div#"+selected).remove();

答案 2 :(得分:1)

我建议:

$("#clickme").click(function (e) {
    $('div.img input:checked').closest('div').remove();
});

JS Fiddle demo

这将查看所有已检查的输入,找到距离最近的父祖先div,然后从DOM中删除那些/那些元素。

参考文献:

答案 3 :(得分:1)

selected是一个数组。你想要做的是将该数组的一个或多个元素作为选择器传递:

$.each(selector, function(){
    $('#' + this).remove();
})

答案 4 :(得分:0)

只需更改

$(selected).remove(); 

$('#'+selected).remove();

修改或收件人(删除所有选定的div)

$.each(selected, function(){
    $('#' + this).remove();
});