如何在JQuery文件上传插件中以编程方式从队列中取消文件?

时间:2012-04-20 19:42:11

标签: jquery-plugins file-upload queue

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

$(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功能正常,文件被取消但不是正确的。我认为索引使用是不对的。任何人都有意识形态?

1 个答案:

答案 0 :(得分:2)

问题在于我对指数的误解。我用一个波纹管替换了调用click的行,一切正常。

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

我也要改变这个事件。调用fileuploadadd时,该文件尚未在表中。所以改为fileuploadded。

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