将变量发送到范围

时间:2014-02-20 03:43:02

标签: javascript jquery

我的表格中有一个选择。当我更改它时,“更改功能”会将该值分配给 vardir 变量。我想将此变量发送到 uploadFile 范围,但它不识别变量(空)但是afterUploadAll函数警告显示变量的真值。

如何将变量发送到范围?谢谢

  var vardir = "";
  $("#galeri").live("change",function(event) {
      if ( $("#galeri").val() != '') {
          $("#yukletr").show("slow");
          vardir = $("#galeri").val();
      }
      else
        $("#yukletr").hide("slow");
  });

  $("#fileuploader").uploadFile({
    url:"upload.php",
    multiple:true,
    method:'POST',
    formData: { dir: vardir },
    allowedTypes : "png,jpeg,jpg,gif",
    afterUploadAll:function()
    {
        alert(vardir);
    }
  });

2 个答案:

答案 0 :(得分:2)

我解决了这个问题。有一个dynamicFormData函数就好;

dynamicFormData: function() { 
  var data ={ dir: $("#galeri").val() } 
  return data; 
}

答案 1 :(得分:0)

您应该在触发更改事件后立即调用上传功能:

    var vardir = "";
$("#galeri").live("change",function(event) {
        if ( $("#galeri").val() != '') {
            $("#yukletr").show("slow");
            vardir = $("#galeri").val();
            // relocated here!
            $("#fileuploader").uploadFile({
                url:"upload.php",
                multiple:true,
                method:'POST',
                formData: { dir: vardir },
                allowedTypes : "png,jpeg,jpg,gif",
                afterUploadAll:function()
                {
                    alert(vardir);
                }
            });
        }
        else
            $("#yukletr").hide("slow");
});