Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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/2/jquery/83.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中的remove按钮和readURL_Javascript_Jquery - Fatal编程技术网

javascript中的remove按钮和readURL

javascript中的remove按钮和readURL,javascript,jquery,Javascript,Jquery,我有多个由javascript生成的输入文件。当我单击按钮添加输入文件时,它将创建一个新的输入文件 这是一个脚本: <input type="file" class="address" id="address0"/> <button type="button" class="addmore">Add More Picture</button> var rowNum = 0; $("body").on("click", ".addmore", functio

我有多个由javascript生成的输入文件。当我单击按钮添加输入文件时,它将创建一个新的输入文件

这是一个脚本:

<input type="file" class="address" id="address0"/>
<button type="button" class="addmore">Add More Picture</button>

var rowNum = 0;

$("body").on("click", ".addmore", function() {
    rowNum++;
    var $address = $('.address').last();
    var nextHtml = $address.clone();
    nextHtml.attr('id', 'address' + rowNum);
    var hasRmBtn = $('.rmbtn', nextHtml).length > 0;
      if (!hasRmBtn) 
        {
          var rm = "<button type='button' class='rmbtn'>Remove</button>"
          $('.removebtn', nextHtml).append(rm);
        }
    $address.after(nextHtml); 
});

$("body").on("click", ".rmbtn", function() {
    $(this).parents('.addresses').remove();
});
但是,它只显示第一个图像

这是整把小提琴


请提前帮助和感谢

如果我正确理解了您正在做的事情,那么添加“删除”按钮的代码需要有点不同。比如:

  var $address = $('.address').last();
  var nextHtml = $address.clone();
  nextHtml.attr('id', 'address' + rowNum);
  $address.after(nextHtml); 
  if (nextHtml.find('.rmbtn').length == 0) {
      $("<button type='button' class='rmbtn'>Remove</button>").insertAfter(nextHtml);
  }
var$address=$('.address').last();
var nextHtml=$address.clone();
nextHtml.attr('id','address'+rowNum);
$address.after(nextHtml);
if(nextHtml.find('.rmbtn')。长度==0){
$(“删除”)。之后插入(下一个TML);
}
由于您的小提琴中的$address是一个输入,我不明白它怎么会有一个类为“rmbtn”的孩子,但我在假设生产中的$address可能更复杂的情况下,将该测试留在了测试中

过程是:将nextHtml添加到DOM后(在$address之后),检查它是否有一个remove按钮。如果没有,请创建“删除”按钮并在下一个TML之后插入它。如果$address不是一个输入,您可以附加到它


看,这是你的变体。

嗨,波比,谢谢。但是“删除”按钮不会删除图像。
function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#blah').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#address0").change(function(){
    readURL(this);
});
  var $address = $('.address').last();
  var nextHtml = $address.clone();
  nextHtml.attr('id', 'address' + rowNum);
  $address.after(nextHtml); 
  if (nextHtml.find('.rmbtn').length == 0) {
      $("<button type='button' class='rmbtn'>Remove</button>").insertAfter(nextHtml);
  }