0
我正在使用UIkit的文件上傳功能。在網頁上,我有多個用戶可以發佈文件的項目。每個項目都有不同的ID。修改設置UIkit上傳後初始化使用jquery
我想要的是,對於每個項目,文件進入一個文件夾名稱的項目ID。但是,當UIkit.uploadSelect被初始化時,我無法修改參數。
當我按下一個項目;在函數上觸發一個onclick事件:GetTaskInfo();
我嘗試了很多東西,但仍然沒有成功。
任何幫助表示讚賞。
文件上傳功能(打電話的UIKit):
function Upload(id) {
var progressbar = $("#task_info_progressbar"),
bar = progressbar.find('.uk-progress-bar'),
settings = {
action: '/Scrum/Upload', // upload url
params: {
folder: "scrum",
id: id
},
allow: '*.(zip)', // allow only zip files
filelimit: 1,
beforeAll: function (files) {
},
loadstart: function() {
bar.css("width", "0%").text("0%");
progressbar.removeClass("uk-hidden");
},
progress: function (percent) {
percent = Math.ceil(percent);
bar.css("width", percent + "%").text(percent + "%");
},
error: function() {
},
abort: function() {
},
allcomplete: function (response) {
bar.css("width", "100%").text("100%");
setTimeout(function() {
progressbar.addClass("uk-hidden");
}, 250);
});
}
};
var select = UIkit.uploadSelect($("#task_info_file_select"), settings),
drop = UIkit.uploadDrop($("#task_info_file_drop"), settings);
}
當用戶打開一個項目的功能。
function GetTaskInfo(id) {
task_id = $('#task_id');
Upload(task_id);
}
UIKit的上傳功能(http://getuikit.com/docs/upload.html)
})(function(UI){
"use strict";
UI.component('uploadSelect', {
init: function() {
var $this = this;
this.on("change", function() {
xhrupload($this.element[0].files, $this.options);
var twin = $this.element.clone(true).data('uploadSelect', $this);
$this.element.replaceWith(twin);
$this.element = twin;
});
}
});
UI.component('uploadDrop', {
defaults: {
'dragoverClass': 'uk-dragover'
},
init: function() {
var $this = this, hasdragCls = false;
this.on("drop", function(e){
if (e.dataTransfer && e.dataTransfer.files) {
e.stopPropagation();
e.preventDefault();
$this.element.removeClass($this.options.dragoverClass);
$this.element.trigger('dropped.uk.upload', [e.dataTransfer.files]);
xhrupload(e.dataTransfer.files, $this.options);
}
}).on("dragenter", function(e){
e.stopPropagation();
e.preventDefault();
}).on("dragover", function(e){
e.stopPropagation();
e.preventDefault();
if (!hasdragCls) {
$this.element.addClass($this.options.dragoverClass);
hasdragCls = true;
}
}).on("dragleave", function(e){
e.stopPropagation();
e.preventDefault();
$this.element.removeClass($this.options.dragoverClass);
hasdragCls = false;
});
}
});