繁体   English   中英

jQuery内部具有争论的功能

[英]Function with arguements inside jQuery

有人可以帮忙为什么这不起作用。

HTML代码:

<li><a href="#" onclick="adminDBDisplay(ownorg);" >OOrg</a></li>
<li><a href="#" onclick="adminDBDisplay(twoorg);" >Twoorg</a></li>

jQuery的:

$(document).ready(function(){
    function adminDBDisplay(db){
        alert("Got into function" +db);
        // Planning to use jQuery Ajax here
    } 
});

使用Firebug时,出现以下错误:

"ReferenceError: adminDBDisplay is not defined"

有人可以帮我为什么这不起作用。 我如何解决这个问题。 如果有更好的方法,请告诉我。 谢谢你的帮助。

当使用function name() {...}定义函数时,如果您已经在函数内部,则只能在该函数中进行定义。

函数定义不应包装在.ready() ,因为它们在被调用之前不会运行。 删除.ready()包装器,您应该一切顺利。

以下表示法:

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

本身是一个将function() {...}绑定到document.ready function() {...} document.ready运行函数adminDBDisplay(db){...}仅在运行时定义该函数,而实际上并未调用它。 为了调用它,您需要adminDBDisplay('parameter');

为了有效地实现它,您需要按如下所示将其放置在页面的正文中:

<head>
<script src="yourversionofjquery.js"></script>
<script>
//Defining your function for calling later
function adminDBDisplay(db)
{
    alert("Got into function" +db);
    //Planning to use Jquery Ajax here
}
</script>
</head>
<body>
<script>
//Binding an anonymous function to document.ready
$(function () {
        //Do whatever you want after document.ready
    });
</script>
<div> rest of body</div>
</body>

让我知道这是否有意义/修复了您的错误。

编辑:同样,在“ ownorg”周围加上“单引号”,例如“ adminDBDisplay('ownorg');” 否则,它正在寻找一个名为ownorg的变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM