如何从以下代码中获取索引值?
add: function (e, data) {
$.each(data.files, function (index, file) {
alert('Added file: ' + index + " -- " + file.name);
});
即使我有(3)个文件,INDEX总是返回(0)。 FILE.NAME有效,我可以看到所有(3)个文件。
这是输出:
这是我期待/期望的结果:
经过一些调试后,似乎表单提交了(3)次,这就是我为每个文件得到(0)的原因。另外,我复制了GIT WIKI的代码,但没有运气。
希望BlueImp专家可以提供帮助。
更新代码: 下面的代码现在返回每个索引
$('#fileUpload1').fileupload(
{
replaceFileInput: false,
dateType: 'json',
url: 'Handlers/AjaxFileHandler.ashx',
singleFileUploads: false,
autoUpload: false,
add: function (e, data) {
$('#upLoadButton').click(function () {
$.each(data.files, function (index, file) {
alert('Added file: ' + index + " -- " + file.name);
var v = $('input[data-id=' + index + ']').val();
var d = $('select[data-id=' + index + ']').val();
alert('textField:' + v + ' selected: ' + d);
});
data.submit();
});
},
});
});
答案 0 :(得分:3)
您没有正确使用Add
方法函数回调。
实际上,默认情况下会为每个单个文件触发此事件。表示文件的数据不是文件数组。
您需要将singleFileUploads
设置为false才能获得所需内容,如下例所示:
$('#fileupload').fileupload({
previewSourceMaxFileSize: 0,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|bmp|svg|wmv|avi|mpe?g|mp4|ppt|pps)$/i,
global:false,
singleFileUploads:false, //set this to false to handle multi files upload behaviour
add:function (e, data) {
$.each(data.files, function (index, file) {
alert('Added file: ' + index + " -- " + file.name);
});
},
autoUpload: false
});