我有这个代码,它是上传前图像的客户端预览。我有一系列文件上传(其中6个),需要拆分和cssStr
以允许变量值..(.upload-preview1
,.upload-preview 2
等。)
我尝试过以这种方式拆分和连接字符串:
var cssStr = ".upload-preview" + "1" + " img";
并尝试了一些其他方法,包括concat()
..但似乎无法让它发挥作用。下面的代码按原样运行,但不允许对cssStr变量进行任何更改,具体取决于数组中的哪个项目(稍后我将编写)。
$(window).load(function () {
$(document).ready(function () {
var cssStr = ".upload-preview1 img";
var preview = $(cssStr);
$(".file").change(function (event) {
var input = $(event.currentTarget);
var file = input[0].files[0];
var reader = new FileReader();
reader.onload = function (e) {
image_base64 = e.target.result;
preview.attr("src", image_base64);
};
reader.readAsDataURL(file);
});
});
});
答案 0 :(得分:0)
我会尝试这样的事情:
$(".file").each(function(idx, el) {
var cssStr = ".upload-preview" + idx + " img";
var preview = $(cssStr);
$(el).change({ <your code here> });
});
每个方法都使用一个带有元素索引和DOM元素本身的函数:http://api.jquery.com/each/。
我假设.file
是每个文件输入的包装器上的CSS类。