Передача переменных в javascript / jquery - PullRequest
0 голосов
/ 15 августа 2011

Я перешел по следующей ссылке и реализовал пример для моего собственного скрипта.

Предварительный просмотр изображения перед его загрузкой

У меня есть 8 входов для загрузки файлов, за которыми следует собственный тег img

<input type="file" name="file[]" accept="image/gif,image/jpeg" onchange="readURL(this,1);"/>
<img id="imagediv1" src="#" alt="your image" />

Теперь javascript, который я изменил

function readURL(input,cnum) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            var cimage = 'imagediv'+cnum;
            reader.onload = function (e) {
                $("#cimage")
                    .attr('src', e.target.result)
                    .width(150)
                    .height(200);
            };

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

Я сделал предупреждение (); внутри javascript и cimage var действительно создается правильно. Тем не менее, img не меняется, как в примере. Я попытался вручную создать функцию для каждого imagediv #, и она отлично работает.

Я что-то упустил в JavaScript?

Ответы [ 2 ]

1 голос
/ 15 августа 2011

Вам нужно убрать "cimage" из кавычек и вместо этого соединить его с "#":

$("#"+cimage)

Или, что еще лучше, вообще не беспокойтесь о создании переменной cimage, а просто сделайте это:

$("#imagediv" + cnum)
0 голосов
/ 15 августа 2011

Изменить ваш селектор:

$("#" + cimage).attr("src", e.target.result).width(150).height(200);

Ваш селектор $("#cimage") ищет элемент с id="cimage".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...