2013-03-04 18 views
0

我試圖使用選擇下拉列表中的值作爲Json過濾函數的變量。當我硬編碼。(name)的值時,它可以工作,但是當我嘗試從下拉列表中使用keyname var時,它返回undefined。使用選擇值作爲Json過濾器的排序

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; 
}; 

回答

1

你探微必須寫:的

一個[鍵名]

代替

a.keyname

+0

是的,謝謝。 – User970008 2013-03-04 16:08:27

1

要引用通過的keyName指定名稱的變量的屬性,使用括號語法另一個答案建議:

a[keyname] 

這相當於a.key如果鍵名是關鍵,但將允許您使用動態字符串。

a.keyname嘗試查找某個不存在的keyname屬性。

+0

謝謝,我很感激。我不知道我在想什麼。 – User970008 2013-03-04 16:18:49

+0

沒問題。一些堆棧溢出的建議,通常如果你想在這裏感謝某人,請提出他們的回答/問題。感謝評論/問題,因爲他們增加了噪音,所以一般都不贊同:http://meta.stackexchange.com/questions/17878/thanking-users-who-answered-my-question – 2013-03-04 16:22:59