删除破碎的图像框与JS无法正常工作。 Rails 4

时间:2016-02-21 05:15:58

标签: javascript jquery ruby-on-rails carrierwave

我创建了一个方法,可以使用正在上传的Carrierwave图像自动填充视图。但是,我使用它时默认显示损坏的图像框。我添加了一个JS函数,可以在检测到时删除损坏的图像框。唯一的问题是在调用方法后图像不会重新填充视图。我将在下面发布JS代码。

post.js

$(document).ready(function () {
  $(function () {
    function readURL(input) {
      if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
          $('#img_prev').attr('src', e.target.result);
        };
        reader.readAsDataURL(input.files[0]);
      }
    }


    //Add uploaded image to placeholder.
    $("#img-upload").change(function () {
      $('#img_prev').removeClass('hidden');
      readURL(this);

      //Remove Broken Image
      $('img').error(function () {
        $('img[src="' + $(this).attr('src') + '"]').remove();
      });
    });
  });
});

1 个答案:

答案 0 :(得分:0)

使用this变量。

$('img').error(function () {
    $(this).remove();
});