使用参数传递时,无法调用Javascript函数

时间:2012-06-24 07:35:49

标签: javascript function onclick call argument-passing

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

以下代码在点击'deals'按钮

时调用函数deals()
$("#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");
}

我认为这应该是一个小问题,但却无法弄清楚。请帮助我出色的编码员!非常感谢!

5 个答案:

答案 0 :(得分: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");
}

答案 1 :(得分:0)

如果在触发该onclick时未确定mallName(我怀疑它是),则不会发出警报。

答案 2 :(得分:0)

打开你的borwser上的javascript错误(如果使用IE)并查看它是否显示错误。如果是,则需要先声明变量。

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

答案 3 :(得分:0)

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

答案 4 :(得分: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");
}