在Sort中使用Select Value作为Json Var

时间:2013-03-04 16:02:15

标签: javascript function sorting drop-down-menu

我正在尝试使用select下拉列表中的值作为Json过滤函数的变量。当我对。(name)的值进行硬编码时,它可以工作,但是当我尝试使用下拉列表中的keyname var时,它返回undefined。

function sortJson(a, b)
{
    //get sorting dropdown value for key
    var keyname = $('#sortByKey').val();// I want to dynamically set the keyname from dropdown. It traces correctly, so I am getting the value I want.

    if (a.keyname == b.keyname)//works when i hardcode a.name, or a.id etc...
    {
        return 0;
    }
    return a.keyname > b.keyname ? 1 : -1;
};

2 个答案:

答案 0 :(得分:1)

你必须写:

  

一个[键名]

而不是

  

a.keyname

答案 1 :(得分:1)

要使用keyName指定的名称引用变量的属性,请使用括号语法作为建议的另一个答案:

a[keyname]

如果keyname是键,则相当于a.key,但允许您使用动态字符串。

a.keyname尝试在a上查找keyname属性,该属性不存在。