使用对象

时间:2014-06-05 11:39:45

标签: javascript jquery list object

我正在使用插件Jquery DropdownListJS

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

$('.dropdown').on('hide', function(event, dropdownData) {
});

在这个函数中,我使用的是ListJS插件中的过滤器选项(因此当关闭下拉列表时,列表会被过滤):

$('.dropdown').on('hide', function(event, dropdownData) {
  hackerList.filter(function(item) {
    if (item.values().Produkt == "Cola") {
      return true;
    } else {
      return false;
}
  });
});

此代码正常运行。

问题是:

我想使用变量Object值(在这种情况下,“Produkt”是一个对象值):

if (item.values().Produkt == "Cola") {

如何将“Produkt”更改为变量?

仅使用item.values().MyVar时,它无效。

2 个答案:

答案 0 :(得分:0)

试试这个,

eval ("$('.dropdown').on('hide', function(event, dropdownData) {"
    + "hackerList.filter(function(item) {"
       +" if (item.values()." +Produkt+ " == 'Cola') {"
       +"return true;"
       +"} else {"
     +"return false;"
  +"}  }); });");

答案 1 :(得分:0)

要访问变量,请使用bracket notation

var myVar = "test";
console.log(yourObject[myVar]); //equivalent to yourObject.test

所以在你的情况下这样做:

var myVar = "Product";
$('.dropdown').on('hide', function(event, dropdownData) {
    hackerList.filter(function(item) {
        if (item.values()[myVar] == "Cola") {
             return true;
        } else {
            return false;
        }
    });
});