如何重新初始化函数中的值驻留在document.ready中?

时间:2013-07-15 04:28:47

标签: javascript jquery

我有一个html文件,其中包含以下代码,

<div id="pp-photo-wrap">
    <input id="fileupload" type="file" name="files[]">

     //Added this to debug
    <input id="debug" type="button" value="Print Design" onclick="alert(globalVars.selectedDesignId)" />
    <script>
    $j(document).ready(function(){
            $j('#fileupload').fileupload({
                dataType: 'json',
                url: 'productpage/uploadphoto?design='+ globalVars.selectedDesignId,
                done: function (e, data) {
                    enablephotostudio(data);
                }           
            });
    });
    </script>
</div>

我有另一个JS文件,其中包含以下函数,可以完成大量工作,其中包含以下内容,

function clickDesignItem(item_el) {
      ...
      ...
      globalVars.selectedDesignId = item_el.data('design_id');
      ...
      ...
 }

所以我的问题是我想将当前globalVars.selectedDesignId传递给fileupload()函数以及URL。但它总是给我设计ID,它是文件加载时的ID。

但是,如果我点击我添加的“打印设计”按钮以查看天气globalVars.selectedDesignIdfileupload()呼叫时具有正确的值,请提供当前正确的设计ID。

那么如何重新加载document.ready或将globalVars.selectedDesignId传递给更新后的值?

非常需要帮助...

1 个答案:

答案 0 :(得分:1)

Basically users will select a design,

这意味着(我猜)clickDesignItem ..函数首先被调用,其中定义了globalVars,之后调用fileupload函数将得到它应该的globalVars .. 。

但是在这里,你在fileupload内调用document.ready()。这意味着文件一旦准备就会调用fileupload,因此你的globalVars可能不会被设置到那时...... 。