Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Проблема с imagesPreview (https://javascript.ru/forum/library-toolkit-framework/70488-problema-s-imagespreview.html)

рони 09.09.2017 11:05

Цитата:

Сообщение от deatlink
Вы думаете эта проблема уже в php?

надо либо на клиенте менять порядок в input.files(если возможно), либо на сервере

рони 09.09.2017 11:06

deatlink,
или вводить скрытое поле для src

deatlink 09.09.2017 11:08

Цитата:

Сообщение от рони (Сообщение 464158)
надо либо на клиенте менять порядок в input.files(если возможно), либо на сервере

Да тоже подумал насчет смены порядка input.files, только как это сделать?)

рони 09.09.2017 11:18

deatlink,
счас...

рони 09.09.2017 11:45

deatlink,
увы, не знаю как сохранить порядок выбора фото...
но чтоб описание и фото совпадали, нельзя менять appendTo.
вариант ниже
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"> .gallery img{
    height: 100px;
    width: auto;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var imagesPreview = function(input, placeToInsertImagePreview) {
        var count = 0;
        var arr = [].map.call(input.files, function(file) {return file});
        arr.forEach(function(file,i) {
            count = i + 1;
            var reader = new FileReader;
            reader.onload = function(event) {
                arr[i] = event.target.result;
                count--;
                if (!count) arr.forEach(function(src) {

                $($.parseHTML('<br><br><img style="width:200px; margin:0 10px;float: left;" src="'+src+'"><input style="width:300px;height: 23px;" name="imgtitle[]" type="text" placeholder="тайтл" /><input style="width:300px;height: 23px;" name="imgalt[]" type="text" placeholder="альт" /><br><div style="clear:both;"></div>')).appendTo(placeToInsertImagePreview);

                })
            };
            reader.readAsDataURL(file);

        })

    };
    $("#gallery-photo-add").on("change", function() {
        imagesPreview(this, "div.gallery")
    })
});
  </script>
</head>

<body>
<div class="gallery"></div>
<input id="gallery-photo-add" name="" type="file" multiple="">
</body>
</html>

deatlink 09.09.2017 11:47

=(

deatlink 09.09.2017 11:47

а если как то описание вывести тоже через prependTo ?

рони 09.09.2017 11:49

deatlink,
смена порядка ничего не дала, внутри порядок идёт по алфавиту, а не по тому как добавили (возможно я что-то упускаю, но больше мыслей нет)

deatlink 09.09.2017 11:51

да тоже такое ощущение)

deatlink 09.09.2017 11:53

а что если эти два input взять в div и присвоить им ID

к примеру если загружаем 3 фото то будут 1, 2, 3 и вывести с конца Т.е. 3, 2 , 1...

Можно так?


Часовой пояс GMT +3, время: 03:53.