如何调用函数jQuery

时间:2014-10-07 09:45:26

标签: jquery

我想回调jQuery函数

$(function upload() {
.....
});

$("#select").change(function() {
    upload();
});

控制台 未捕获的ReferenceError:未定义上传

4 个答案:

答案 0 :(得分:1)

您实际上已经为快捷方式DOM ready事件处理程序提供了一个命名回调。您需要全局(或在相同的范围内)声明它。

此示例将它们放在相同的范围内:

$(function(){  // DOM ready handler
    function upload() {

    };

    $("#select").change(function() {
        upload();
    });
});

由于该函数没有参数,因此缩写为:

$(function(){  // DOM ready handler
    function upload() {

    };

    $("#select").change(upload);
});

更简洁的方法(如果函数没有被重用)只是将代码放在change回调中:

$(function(){
    $("#select").change(function() {
        // Do the upload code here instead
    });
});

答案 1 :(得分:0)

那是因为它在一个闭包内,因此不是全局的。删除$包装,一切都应该没问题。

function upload() {
   // (...) code
}
$("#select").change(function() {
    upload();
})

或者将<select>代码放在DOM ready包装器中。它也应该工作。或者声明它像

window.upload = function(){
  // this is global
}

答案 2 :(得分:0)

尝试此操作:在upload中定义一个函数$(function(){ });,并在change框的select事件处理程序中调用它。

$(function(){
  //define function
  upload = function(){
  ....
  }

  $("#select").change(function() {
    //call function
    upload();
  });
});

答案 3 :(得分:0)

您必须放置(“#select”)。更改Ready功能并在就绪功能之外上传功能。

function upload() {
// any thing you want to do after select
};

$( document ).ready(function() {

$("#select").change(function() {
upload();
})

});