-1

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

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"

有人可以帮我为什么这不起作用。我处理这个问题的方式有问题。请让我知道是否有更好的方法。谢谢你的帮助。

4

2 回答 2

1

使用 定义函数时function name() {...},如果您已经在函数内部,那么它将仅在该函数中定义。

函数定义不应包含在 a 中.ready(),因为它们在被调用之前不会运行。取下.ready()包装纸,你应该很高兴。

于 2013-02-03T22:26:22.253 回答
1

以下符号:

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

本身是一个绑定function() {...}document.ready. 而 running function adminDBDisplay(db){...}indocument.ready仅在运行时定义它的函数,但实际上并没有调用它。为了调用它,你会想要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 的变量。

于 2013-02-03T22:37:36.207 回答