お世話になっております。
jQueryでアップロード済みの2つの<input type="file">の中身と、
アップロード済み画像をプレビューしているimgの中身も入れかえるコードを書いていたのですが
イベント1回目はうまく動作するのですが2回目以降が入れ替える事ができません。
お気づきの点があれば教えていただきたいです。
よろしくお願いいたします。
HTML
1<img id="image1"> 2<input type="file" id="file1"> 3<img id="image2"> 4<input type="file" id="file2"> 5<input type="checkbox" id="changeFiles"> 6<label for="changeFiles">1枚目と2枚目を入れ替える</label>
jQuery
1$(".changeFiles").on("change", function () { 2 const file1 = $("#file1"); 3 const file2 = $("#file2"); 4 5 if (file1 && file2){ 6 file1.files = file2.prop('files'); 7 file2.files = file1.prop('files'); 8 onImage(1, file2.prop('files')[0]); 9 onImage(2, file1.prop('files')[0]); 10 } 11}); 12function onImage(case, file){ 13 var reader = new FileReader(); 14 reader.onload = function() { 15 if(case == 1){ 16 $("#image1").attr('src', reader.result); 17 }else{ 18 $("#image2").attr('src', reader.result); 19 } 20 } 21 reader.readAsDataURL(file); 22};
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。