uploadListIns = upload.render({
elem: '#dangerousSign',
accept: 'file',
data: {} ,
multiple: false,
exts:'|xlsx|xlsm|xlsb|xls|xltx|xltm|xlt',
auto: false,
size:10 * 1024,
choose: function (obj) {
// 清空历史上传文件,解决choose只执行一次的问题!!!
uploadListIns.config.elem.next()[0].value = '';
loadIndex = layer.load(1);
var that = this;
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
},
})
//最重要的
uploadListIns.config.elem.next()[0].value = '';
原因:upload.render方法执行一次之后,第二次之后没有把elem指定的这个元素对象重新生成,而是有选择性的更新对象的属性,比如file就应该没更新,还是上一次的file导致change方法没触发继而没有触发这个choose;