2014-09-25 4 views
1

json의 필드 값 (Sales, ProductName)을 'data []'및 'name []'배열에 저장하고 있습니다. 아래 코드는 올바르게 작동합니다.드롭 다운에서 동적 json 객체 값 전달

function onCompletedCallback(response, eventArgs) { 

     var chartlist = eval("(" + response.get_responseData() + ")"); 
     var markup = " "; 

     //Display the raw JSON response 
     markup += response.get_responseData(); 
     // alert(markup); 

     var jsonData=jQuery.parseJSON(markup); 
// alert(jsonData); 

//declaring arrays 
var name = []; 
var data = []; 

$.each(jsonData.d.results, function (index, value) { 


    data.push(value.Sales); 
    name.push(value.ProductName); 

    }); 
} 

지금은 목록의 모든 필드 이름을 보유하고, 내 UI에서 드롭 다운 (ddlxField)에서 필드 값을 전달하고 '이름'배열에 데이터를 누른 상태에서 JSON 객체에 전달하려는 것. 지금은 는 즉 '제품 이름'형태로 드롭, XName이 = 제품 이름

var xName = document.getElementById("ddlxField").value; 
$.each(jsonData.d.results, function (index, value) { 

    data.push(value.Sales); 
    name.push(value.xName); // xname value= ProductName 

    }); 

하지만 실행 후, XName이 정의되지 않은 것으로 밝혀오고있다을 선택하고있다. 다른 사람이 무엇을 할 수 있는지 또는 어디에 잘못 될지 제안 할 수 있습니까?

답변

2

value.xName 대신 value[xName]을 사용하십시오.

구문은 xName과 같이 키에 대해 string이 필요합니다.

+0

빙고! 그것은 효과가 있었다. 엄청 고마워 :) – Rooney

관련 문제