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>