javascript - JQuery 函数返回未定义,但警报显示正确的值

标签 javascript jquery

我有一个 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/

相关文章:

javascript - Div下拉菜单问题

javascript - 如何在 JavaScript 中执行 for 循环以一次显示所有错误?

javascript - 如何更新Backbone JS模型属性?

javascript - 当鼠标悬停在 Bootstrap 中的列表文本上时如何弹出图像

javascript - Astro.js通过jwt和store实现auth

php - 我创建了一个 CSS 切换器,但我只需要更改 body 类为 ="red"的元素

javascript - 如何避免在 Jquery 中选择某个项目时更改事件?

jquery - AJAX 返回带输出的 HTML 代码

javascript - 如何在 ajax 成功时获取 TreeView 中的复选框计数值?

javascript - 如何使用 Ramda.js 映射对象值并仅获取第一个元素?