使用jquery将文件名上传到文本框中

时间:2014-08-16 17:48:09

标签: jquery file file-upload

我试图通过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/

1 个答案:

答案 0 :(得分:3)

您已接近,但id="filename"没有输入,您确实拥有filename1filename2data-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);
});

Updated Fiddle

顺便说一句,你的小提琴中有一个拼写错误,写了dataid而不是data-id