我有一个id =“kill”的按钮。
这是我的JavaScript:
$("#kill").click(function(){
getImage($(this).val());
});
function getImage(code){
var code,
imgstr;
imgstr="mypath/"+code+".png";
return imgstr;
}
不幸的是,返回了错误的值。但是如果我在函数getImage中赋值,就像这样:
$("#kill").click(function(){
getImage($(this).val());
});
function getImage(code){
var code="12",
imgstr;
imgstr="mypath/"+code+".png";
return imgstr;
}
然后它返回正确的值。我该如何解决这个问题?
答案 0 :(得分:2)
答案 1 :(得分:0)
为什么要创建具有相同名称的另一个局部变量? (可能会在某些浏览器中覆盖传递的code
。)
使用此,
$("#kill").click(function(){
getImage($(this).val());
});
function getImage(code){
var localCode = code,
imgstr;
imgstr="mypath/"+localCode+".png";
return imgstr;
}
答案 2 :(得分:0)
从上面的讨论我可以说你使用的是旧版本的jQuery(可能<1.6)。检查版本的jQuery,如果版本是&lt; 1.6比按钮使用.attr("value")
而不是.val()
,可能是这个(未经测试)的作品!!
$("#kill").click(function(){
getImage($(this).attr("value"));
});
function getImage(code){
var code,
imgstr;
imgstr="mypath/"+code+".png";
return imgstr;
}
答案 3 :(得分:0)
只需删除本地“代码”变量即可。它隐藏了参数。