2017-02-22 2 views
-1

У меня есть переменная с jsonData в моей странице:JQuery значение приобретают по имени переменной

JSON_Values=[ 
    {"ID":"1","Name":"MyName1","Selector":"S1"}, 
    {"ID":"2","Name":"MyName2","Selector":"S2"} 
] 

Название JSON_Values может изменить так что я должен получить переменную, которая содержит имя JSON_Values:

function useJSONData(nameOfVariable, filter) { 
    //How to access the Data inside of JSON_Values here??? 
    //Value of nameOfVariable is correctly set to JSON_VALUES 
    var myJSONData = $(nameOfVariable); 
    jq.grep(myJSONData, function (n, i) { 
     return n.Selector === filter 
    }); 
} 

Может ли кто-нибудь помочь мне?

+0

'JSON_Values.filter (х => x.Selector === фильтр)' – Rajesh

+0

У меня есть только имя переменной не в JSON_Values ​​себя в методе –

+0

Является ли это то, что вам после? var myJSONData = this [nameOfVariable]; –

ответ

2

Если nameOfVariable в глобальном масштабе (которые вы должны избегать), вы можете использовать

window[nameOfVariable] 

или если в области объекта:

this[nameOfVariable] 
+0

Имя переменной генерируется идентификатором ClientID элемента управления, которому оно принадлежит, и имени столбца. Поэтому я должен быть уникальным, не знаю, как избежать глобального масштаба :( –

0

Вы можете доступ к данным JSON следующим образом: var id = myJSONData[0]["ID"]

Вы можете выполнить цикл, если вам нужно что-то сделать для каждого элемента.

Вот небольшой пример: Надеюсь, что это будет полезно.

function useJSONData(nameOfVariable, filter) { 
 
    //How to access the Data inside of JSON_Values here??? 
 
    //Value of nameOfVariable is correctly set to JSON_VALUES 
 
    var myJSONData = $(nameOfVariable); 
 
    $.each(myJSONData, function(index, value){ 
 
    \t var id = myJSONData[index]["ID"] 
 
    \t var name = myJSONData[index]["Name"] 
 
    \t var selector = myJSONData[index]["Selector"] 
 
\t \t \t var result = "<p>" + id + " | " + name + " | " + selector + "</p> <br>" 
 
     
 
     $("#output").append(result); 
 
     //value("<p>" + id + " | " + name + " | " + selector + "</p> <br />"); 
 
    }); 
 
} 
 

 
JSON_Values=[ 
 
    {"ID":"1","Name":"MyName1","Selector":"S1"}, 
 
    {"ID":"2","Name":"MyName2","Selector":"S2"} 
 
] 
 

 
useJSONData(JSON_Values);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 

 
<div id="output"></div>

Смежные вопросы