1

当用户将文件添加到队列中时,我必须验证所以我在回调中编写了一个函数:

$(document).ready( function() {
$('#fileupload').bind('fileuploadadd', function (e, data) {
    $.each(data.files, function (index, file) {
        check = ValidaDoc(file.name);
        if (check!="OK"){
            var erro="";
            if (check=="Alerta1"){
                alert("Alerta1");
            }
            else {
                errotemp="";
                if(check=="Erro1"){erro=erro + file.name + " com extensão não esperada.";}
                else if(check=="Erro2"){erro=erro + file.name + " não cadastrado ou com nome fora do padrão.";}
                $($('#fileupload .files .cancel button')[index]).click();
        }
    }
});
});

回调有效,ValidaDoc 函数有效,文件被取消但不是正确的。我认为索引的使用是不对的。有人有想法吗?

4

1 回答 1

2

问题是我对索引的误解。我将调用 click 的行替换为下面的行,一切正常。

$($('#fileupload .files .cancel button')[data.context[index].rowIndex]).click();

我也必须改变事件。当调用 fileuploadadd 时,文件还没有在表中。所以改为fileuploadded。

$('#fileupload').bind('fileuploadadded', function (e, data) {
于 2012-04-23T13:26:12.287 回答