0

我正在使用 jQuery-File-Upload 的 fileuploaddone 回调将隐藏的输入插入表单以将其发送到服务器:

$('#fileupload').bind('fileuploaddone', function (e, data) {
    $.each(data.files, function (index, file) {
        $('<input type="hidden" name="file' + index + '" value="' + file.name + '">').appendTo('#fileupload');
    }); 
});

问题是计数器index不会增加。插入到我的表单中的内容:

<input type="hidden" name="file0" value="filename.png">
<input type="hidden" name="file0" value="filename2.png">
etc

我尝试使用单独的计数器:

$('#fileupload').bind('fileuploaddone', function (e, data) {
    var i = 0;
    $.each(data.files, function (index, file) {
        $('<input type="hidden" name="file' + i + '" value="' + file.name + '">').appendTo('#fileupload');
        i++;
    }); 
});

但结果是一样的。诀窍是什么?

4

1 回答 1

0

您的集合data.files每个仅包含 1 个对象,因此您的计数器/索引永远不会增加。

看看下面一行。

$('#fileupload').bind('fileuploaddone', function (e, data) {

每个文件都会发生“fileuploaddone”事件。

于 2013-03-18T17:24:43.680 回答