我有一个 html 页面,其中有 UL 和 LI 标签来创建菜单。 UL 标签的类别为 category_menu,LI 的 id 分别为 1、2、3。当有人单击此 LI 时,我想将该 LI id 作为请求参数发送到 Spring Controller 。警报框显示正确的值,但我在浏览器控制台上没有获得正确的值。它的给予
../category.jsp?category=undefined
我是 JQuery 和 JavaScript 的新手,所以谁能告诉我为什么该函数返回未定义,尽管警报显示了正确的值。
var payload = {
"url" : "templates/category.jsp",
"callback" : this.onLoadComplete,
"data" : {
'category' : function(){
$('.category_menu li').click(function(){
alert(this.id);
return this.id;
});
}
},
"context" : this
};
};
最佳答案
代码中的问题是,对于类别参数的数据,您正在定义一个函数,而该函数本身除了在 .category_menu li
的单击函数上注册事件之外什么也不做。
快速修复如下:
var globalvar = '';
$('.category_menu li').click(function(){
globalvar = this.id;
});
var payload = {
"url" : "templates/category.jsp",
"callback" : this.onLoadComplete,
"data" : {
'category' : globalvar
},
"context" : this
};
};
我还没有运行上面的代码,但我相信它会让您了解您所犯的错误并可以解决您的问题。
谢谢
关于javascript - JQuery 函数返回未定义,但警报显示正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340706/