如何更新uploadify中的“storage”var set?我有这个函数set_path
,它将var组合更新为在选择某些内容时启动的其他值
$(document).ready(function () {
$('#uploader').uploadify({
'uploader': '/admin/includes/uploadify/uploadify.swf',
'script': '/admin/includes/uploadify/uploadify_storage.php',
'scriptData': {
'sessionId': sessionId
},
'cancelImg': '/admin/includes/uploadify/cancel.png',
'buttonImg': '/site_images/button.png',
'folder': storage,
'auto': false,
'multi': true,
'fileExt': '*.jpg',
'simUploadLimit': 2,
'wmode': 'transparent',
'onComplete': function (event, ID, fileObj, name, response, data) {
alert(storage);
}
});
$("#start").click(function () {
$("#uploader").uploadifyUpload();
});
})
var absolute_path = "/admin/storage/files/";
var path = "";
var storage = absolute_path + path;
function set_path(new_path) {
storage = absolute_path + new_path;
show_path(new_path);
}
如果启动了set_path,则新的存储var会更新,“onComplete”中的警报会显示正确的内容,问题是'folder': storage
包含原始“存储”,并且在设置新内容时没有更新路径。为什么呢?
答案 0 :(得分:2)
由于您将原始对象提供给folder
属性,因此需要重新设置密钥的值。
在onComplete
中,获取对所提供对象的引用,或创建一个setter方法并将其folder属性设置为新存储。
答案 1 :(得分:2)
因为存储变量仅用于在实例化时将值传递给uploadify设置数组,所以它不会“存在”那里。
您要做的是更改uploadify对象的'folder'设置。
根据Uploadify documentation,你的set_path函数应如下所示:
function set_path(new_path) {
$('#uploader').uploadifySettings ('folder', absolute_path + new_path);
show_path(new_path);
}