2014-03-04 30 views
0

動態選擇我有一個$.get,返回,看起來像這樣的數據:

Object 
    filter_afmeting-breedte_cm: Object 
     end_value: "200" 
     max_value: "200" 
     min_value: 0 
     start_value: 0 
    filter_afmeting-diepte_cm: Object 
     end_value: "150" 
     max_value: "150" 
     min_value: 0 
     start_value: 0 

我可以再選擇例如end_valuefilter_afmeting-breedte_cmdata.filter_afmeting-breedte_cm.end_value。這樣可行。但我遇到的問題是filter_afmeting-breedte_cm部分是動態的。我得到了這些動態的部分,看起來像這樣:

$(".filter-js-slider").each(function(){ 
    var filter = $(this).attr("id"); 
}); 

的VAR filter是例如充滿filter_afmeting-breedte_cm。因此,使用名爲filter的動態變量,我需要從data陣列中選擇正確的值。我試過data.+filter+.end_value,但這不起作用。但我認爲,我從我想得到的東西給出了正確的想法。

在PHP它應該是這樣的:

$filter = "filter_afmeting-breedte_cm"; (which would be dynamic filled) 
echo $data[$filter]['min_value']; 

但我怎麼得到這在Javascript中工作?

回答

0

data[String(filter)].end_value

這是使用JavaScript代碼字符串,而不是點符號(這顯然也支持)來訪問屬性名稱的能力。

請參閱:JavaScript object: access variable property by name as string瞭解更多信息。

+0

您可以添加一些額外的信息以及答案嗎? – Max

+0

感謝它的工作!我不得不刪除第一個點,因爲這樣做不起作用,但是這個:data [String(filter)]。end_value'起作用。 – Femke

+0

啊傻我離開了點!很高興我能幫上忙。 – BenM