次のjsfiddleコードを使用して、アップロードされた画像ファイルの属性を決定しています。複数のファイル アップロード要素があります。switch 関数を使用できるように、関数を呼び出した要素の現在の ID を知りたいです。たとえば、id = file1 の場合はこれを行い、それが file2 の場合はこれを行います。$(this).attr("id"), this.id; を使用しました。しかし、どれも機能しません。
$(window).load(function(){
var _URL = window.URL || window.webkitURL;
function displayPreview(files) {
var reader = new FileReader();
var img = new Image();
reader.onload = function (e) {
img.src = e.target.result;
fileSize = Math.round(files.size / 1024);
img.onload = function () {
$('#preview').append('<img src="' + img.src + '">');
}
};
reader.readAsDataURL(files);
}
$("#file1").change(function() {
var file = this.files[0];
displayPreview(file);
});
$("#file2").change(function() {
var file = this.files[0];
displayPreview(file);
});
$("#file3").change(function() {
var file = this.files[0];
displayPreview(file);
});
});
これはhtmlコードです:
<input type="file" id="file1" /></br>
<input type="file" id="file2" /></br>
<input type="file" id="file3" /></br>
<div id="preview"></div>
では、関数を呼び出した現在の要素の ID を知るにはどうすればよいでしょうか?