2011-11-28 2 views
0

jqgrid에서 jQuery를 사용하고 있으며 편집 결과에서 값을 거의 사용하지 않았습니다. 편집 결과는 다차원 배열입니다. 웬일인지 두 번째 아이에게만 경고 할 수 있습니다. 그 이상이라면 결과는 undefined이됩니다.jquery를 사용하여 다차원 배열에서 항목을 추출하십시오.

메인 어레이 변수 postdata하고 난 .each() jQuery의 기능을 이용하여이 작업을 반복해야 할 경우, I이 얻을 :

(상품 : 값) 형식. 수는

1 readyState : 4 

2 setRequestHeader : function({....}) 
.. 
.. 
.. 
21 responseText : Array (
     [id] => 364 
     [oper] => edit 
     [note] => editing 
     [client] => raha 
    ) 

내 의도는 id의 가치를 얻을 수 있습니다 나타나는 순서입니다하지만 난이 사용 .each() 함수 외부 배열을 경고해야하는 경우 : 경고 결과는

alert(postdata['responseText']['id']) 

입니다

undefined. ['id']을 제거하면 전체 responseText 배열 (숫자 21과 동일)이 표시됩니다.

이 작업을 어떻게 수행합니까? 많은 감사.

해결! @Felix 덕택에에 대한 제안을 한 @Jasper에게 감사드립니다.

jqGrid responseText의 결과는 큰 따옴표로 묶여 있기 때문에 문자열이됩니다. 나는 .split() 함수를 사용하여이 문제를 해결할 수 있었다. 먼저 '\n'으로 분할 한 다음 '=>'으로 분할합니다. 마침내 내가 원하는 것을 얻었습니다.

덕분에 모든

+1

당신이'POSTDATA [ '에서 responseText'] '의 유형을 확인할 수 있습니다 : 그것은 아마도 responseText는이 같은 데이터를 액세스 할 필요가있는 경우에 객체의 배열은 말했다되고? 그 배열 것들이 배열 주어진 PHP는 print_r 출력처럼 보이는 문자열로 용의자. –

+0

@Jasper가 제안한대로 console.log (postdata)를 실행했으며 결과는 위와 동일합니다. – Riza

+0

필자는 firebug 콘솔에서 두 번 qoutation으로 표시되기 때문에 문자열이라고 말하는 것이 옳다고 생각합니다. 이 항목을 선택할 수 있습니까? 감사. – Riza

답변

1

당신은 postdata 변수를 기록하고 조언 (console.log(postdata);)를 제공하는 것이 훨씬 쉬울 것 전체 변수를 게시 할 수 있습니다.

alert(postdata['responseText'][0]['id']); 
+0

'console.log (postdata)'의 결과는 responseText에 대한 배열을 보유하는 double qoute를 제외하고는 동일합니다. 경고가 정의되지 않은 렌더링입니다. – Riza

관련 문제