首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用对象

使用对象
EN

Stack Overflow用户
提问于 2014-06-05 11:39:45
回答 2查看 63关注 0票数 2

我正在使用插件Jquery下拉列表ListJS

jQuery下拉插件提供了一个隐藏事件:

代码语言:javascript
复制
$('.dropdown').on('hide', function(event, dropdownData) {
});

在这个函数中,我使用了来自ListJS插件的filter选项(所以当关闭下拉列表时,列表会被过滤):

代码语言:javascript
复制
$('.dropdown').on('hide', function(event, dropdownData) {
  hackerList.filter(function(item) {
    if (item.values().Produkt == "Cola") {
      return true;
    } else {
      return false;
}
  });
});

这段代码的工作原理是正确的。

问题是:

我想使用一个可变的对象值(在本例中,“Produkt”是一个对象值):

代码语言:javascript
复制
if (item.values().Produkt == "Cola") {

如何将"Produkt“转换为变量?

当仅仅使用item.values().MyVar时,它是不工作的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-05 12:02:34

若要访问变量,请使用括号表示法

代码语言:javascript
复制
var myVar = "test";
console.log(yourObject[myVar]); //equivalent to yourObject.test

所以,在你的例子中,这样做:

代码语言:javascript
复制
var myVar = "Product";
$('.dropdown').on('hide', function(event, dropdownData) {
    hackerList.filter(function(item) {
        if (item.values()[myVar] == "Cola") {
             return true;
        } else {
            return false;
        }
    });
});
票数 0
EN

Stack Overflow用户

发布于 2014-06-05 11:44:46

尝尝这个,

代码语言:javascript
复制
eval ("$('.dropdown').on('hide', function(event, dropdownData) {"
    + "hackerList.filter(function(item) {"
       +" if (item.values()." +Produkt+ " == 'Cola') {"
       +"return true;"
       +"} else {"
     +"return false;"
  +"}  }); });");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24059234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档