我试图通过jquery将上传文件的文件名放到文本框中。如果有单个文件上传按钮应该很容易。
但是我将文件输入作为数组,并且在每个文件上传按钮旁边都有一个文本框。
我创造了一个更清晰的小提琴。问题是我无法在更改功能上获取所选文件的值/名称。
$('.imgupload').on('change', function (e) {
var filenames = [].slice.call(e.target.files).map(function (f) {
alert(f.name);
return f.name;
});
$('#filename').val(filenames);
});
JSFiddle - http://jsfiddle.net/squidraj/Ldcp7hoc/4/
答案 0 :(得分:3)
您已接近,但id="filename"
没有输入,您确实拥有filename1
,filename2
和data-id
个变量。所以只需抓住data-id
并给出相应的输入(第一个,第二个等),其值等于您正确获得的var filename
。
$('#ques_32\\[\\]').on('change', function (e) {
var filename = [].slice.call(e.target.files).map(function (f) {
return f.name;
});
$('#filename' + $(this).attr("data-id")).val(filename);
});
顺便说一句,你的小提琴中有一个拼写错误,写了dataid
而不是data-id