0

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

$(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

4

5 回答 5

1

您可以简单地选择所选输入字段(div)的父级,然后像这样删除它:

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

这是一个工作示例:http: //jsfiddle.net/aHr6v/5/

于 2013-04-05T22:16:59.987 回答
1

检查这个:http: //jsfiddle.net/aHr6v/6/

根据您在评论中所说的,我添加了以下行,通过 id 搜索 div 并将其删除

$("div#"+selected).remove();
于 2013-04-05T22:17:05.130 回答
1

我建议:

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

JS 小提琴演示

这会查看所有被检查的输入,找到最接近的父祖先,div然后从 DOM 中删除那个/那些元素。

参考:

于 2013-04-05T22:17:16.217 回答
1

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

$.each(selector, function(){
    $('#' + this).remove();
})
于 2013-04-05T22:17:49.953 回答
0

只是改变

$(selected).remove(); 

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

编辑:或至(删除所有选定的 div)

$.each(selected, function(){
    $('#' + this).remove();
});
于 2013-04-05T22:17:23.600 回答