如何在上传器(ajax)中更改obj值?

时间:2015-06-01 00:09:03

标签: javascript ajax object uploader

我仍然尝试通过js(remotePath)更改thish脚本上的1个值,请给我信息:)

谢谢!

$('#uploader_div').ajaxupload(
        {
        url:            'upload.php',
        dropArea:       '#drop_here',
        remotePath:     'user/user1/',  <-- how to change only this value
        ...
像这样

            remotePath:     'user/user2/'

更新

<div id="uploader_div"></div>
<a id="link" href="#" onclick="newvalue();"> Change user2 </a> <!--Change by Click-->
<script>
    var uplobj = {
        url: 'upload.php',
        dropArea: '#drop_here',
        remotePath: 'user/user1/', // Change by Click
        autoStart: true,
        hideUploadButton: true,
        removeOnSuccess: true, 
        maxConnections: 0,
        maxFileSize: '20M',
        allowExt: ['mp3']
    };
    function newvalue() 
    {
        uplobj.remotePath = 'user/user2/'; // Change by Click
        link.style.display = 'none';
    };    
    $('#uploader_div').ajaxupload(uplobj);
</script>

1 个答案:

答案 0 :(得分:2)

如果你有一个对它的引用,你可以在ajax调用之前随时更改一个对象。

var obj = {
    url:            'upload.php',
    dropArea:       '#drop_here',
    remotePath:     'user/user1/'
};
obj.remotePath = 'user/user2/';
$('#uploader_div').ajaxupload(obj);

编辑以响应更多代码

我通读了docs你应该将标准的jquery选项对象传递给ajaxupload。现在,您可以混合使用jquery选项,数据可能会显示jquery docs以获取有关哪些设置有效的更多信息。

一个简单的修复可能是将您当前的数据放在数据选项属性中。

$('#uploader_div').ajaxupload({data: obj});