我有一个html页面,我有UL和LI标签来创建菜单。 UL标签的类别为 category_menu ,LI的ID分别为id 1,2,3。当有人点击这个LI时,我想将那个LI id作为请求参数发送给Spring控制器。警报框显示正确的值,但我没有在浏览器控制台上获得正确的值。它的给予
../category.jsp?category=undefined
我是JQuery和JavaScript的新手所以任何人都可以告诉我为什么该函数返回undefined尽管警报显示正确的值。
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
};
};
答案 0 :(得分:1)
您的代码中的问题是,对于类别参数的数据,您正在定义一个函数,除了在.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
};
};
我没有运行上面的代码,但我相信它会让你知道你在做什么错误并且可以解决你的问题。
由于
答案 1 :(得分:1)
试试这个:
var payload = {
"url" : "templates/category.jsp",
"callback" : this.onLoadComplete,
"data" : {
'category' : ""
},
"context" : this
};
$('.category_menu li').click(function(){
payload.data.category=this.id;
});
发送此请求即可。