0

我有一个 div,它 onclick 调用一个 javascript 函数。但是当我调用带有参数的javascript时它没有这样做。这很奇怪。

下面的代码在单击“交易”按钮时调用函数交易()

$("#content").append('<div class="malldetails"><a href="javascript:void(0);"><button class="left" onclick="deals()">Deals</button></a></div>');

function deals(){
alert("This works");
}

但是下面的代码不起作用。

$("#content").append('<div class="malldetails"><a href="javascript:void(0);"><button class="left" onclick="deals(mallName)">Deals</button></a></div>');

function deals(NameOfMall){
alert("This does not work");
}

我相信这应该是一个小问题,但只是无法弄清楚。请帮助我出色的编码员!多谢!

4

5 回答 5

0

您必须在 mallName 周围使用引号

$("#content").append('<div class="malldetails"><a href="javascript:void(0);"><button class="left" onclick="deals(\'mallName\')">Deals</button></a></div>');

function deals(NameOfMall){
    alert("This does not work");
}
于 2012-06-24T07:42:38.083 回答
0

如果mallName在触发 onclick 时未定义(我怀疑是这样),则不会发生警报。

于 2012-06-24T07:43:53.090 回答
0

打开浏览器上的 javascript 错误(如果使用 IE)并查看它是否显示错误。如果是,那么您需要先声明变量。

所以这将取决于这个 javascript 的放置位置。代码中显示的错误是由于未定义变量造成的。

于 2012-06-24T07:50:40.217 回答
0

您的代码正在运行..检查 mallName 是否已初始化..它可能未定义。

于 2012-06-24T07:56:55.167 回答
0
onclick="deals("Lechmere Mall")" //wont work. 

检查与

onclick="deals(\'Lechmere Mall\')" //will work.

它工作正常。

检查 mallName 是否使用 alert 初始化。

alert(mallName);
$("#content").append('<div class="malldetails"><a href="javascript:void(0);">
<button class="left" onclick="deals(mallName)">Deals</button></a></div>');

function deals(NameOfMall){
alert("This does not work");
}
于 2012-06-24T08:14:00.970 回答