Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 上传图像后,如何在图像框中添加图标删除?_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript 上传图像后,如何在图像框中添加图标删除?

Javascript 上传图像后,如何在图像框中添加图标删除?,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我的html代码如下所示: <input type='file' multiple/> <?php for($i=0;$i<5; $i++) { ?> <div class="img-container" id="box<?php echo $i ?>"> <button style="display: none;" type="submit" class="btn btn-danger show-b

我的html代码如下所示:

<input type='file' multiple/>
<?php
    for($i=0;$i<5; $i++) {

?>
    <div class="img-container" id="box<?php echo $i ?>">
        <button  style="display: none;" type="submit" class="btn btn-danger show-button">
            <i class="glyphicon glyphicon-trash"></i>
        </button>
    </div>
<?php
    }
?>
$(function () {
    $(":file").change(function () {
        var noOfFiles = this.files.length;
        for(var i=0; i < noOfFiles; i++) {        
            var reader = new FileReader();
            reader.onload = imageIsLoaded;
            reader.readAsDataURL(this.files[i]);
        }        
    });
});

function imageIsLoaded(e) {
    var imgTmpl = '<img height="142" width="162" src='+e.target.result+'>';
    var IsImgAdded=false;
    $('.img-container').each(function(){
        if($(this).find('img').length==0 && IsImgAdded==false){
            $(this).append(imgTmpl);
            IsImgAdded=true;
            document.getElementsByClassName('show-button')[0].style.display = 'block';
        }
    });     
};


问题在于这条线

document.getElementsByClassName('show-button')[0].style.display='block'

这将找到第一个
.show按钮
,并显示它。要将具有图像的
.img容器
中的每个
.show按钮
作为目标,请将该行更改为
$(this).find('.show button').show()

这是更新后的函数

function imageIsLoaded(e) {
        var imgTmpl = '<img height="142" width="162" src='+e.target.result+'>';
        var IsImgAdded=false;
        $('.img-container').each(function(){
            if($(this).find('img').length==0 && IsImgAdded==false){
                $(this).append(imgTmpl);
                IsImgAdded=true;
                $(this).find('.show-button').show();
            }
        });     
    };

伟大的它起作用了。但图标删除和图片上传仍然是分开的。我想把删除图标在前面的上传图像,所以一个单位。这似乎需要cssexpertise@samueltoh添加
.img容器{position:relative;}.img容器.show按钮{position:absolute;top:0;left:0;}
@samueltoh真棒,没问题。@samueltoh有什么问题?你到底需要我帮什么忙?是的。如果你有空,也许你能帮我。我六个小时前就开始问了。但是没有人能帮助我。也许你能帮我。如果你想帮助我,你可以在那里读我的问题
.img-container { position: relative; }
.img-container .show-button { position: absolute; top: 0; left: 0; }