2012-11-08 3 views
1

ColdFusion 8 및 jQuery 1.8을 사용하고 있습니다.자바 스크립트 배열을 만들고 구성하는 방법은 무엇입니까?

나는 약간의 정보가 데이터베이스에서 나오는이 같은 div의로 채워되고 있습니다

<div class='SpecInfo' data-height='10' data-width='23' data-length='156'></div> 
<div class='SpecInfo' data-height='20' data-width='21' data-length='159'></div> 
<div class='SpecInfo' data-height='30' data-width='25' data-length='154'></div> 
<div class='SpecInfo' data-height='40' data-width='27' data-length='155'></div> 
<input type='button' id='GoButton' value='Go!'> 

내가 그 정보를 끌어와 배열에 넣어와 CFC에 전달해야합니다. 데이터를 수집하는 함수가 있습니다.

이 코드는 저의 배열, 너비의 배열 및 길이의 배열입니다. 이것은 내가 원하는 것이 아닙니다. 내 정보는 다음과 같이 구성되어 있습니다.

[10,20,30,40] 
[23,21,25,27] 
[156,159,154,155] 

각 div에 대해 모든 속성을 한 곳에서 원합니다. 나는 다음과 같은 것을 원한다 :

[10,23,156] 
[20,21,159] 
[30,25,154] 
[40,27,155] 

내가 뭘 잘못하고 있니? 배열을 어떻게 구성합니까?

+0

클라이언트 측 데이터를 수정하지 않는 경우이를 달성 할 수있는 다른 방법은 쿼리에 SerializeJSON()을 사용하여 HTML 표현뿐만 아니라 클라이언트로 전송하는 것입니다. 그렇게하면 나중에 다시 전송할 데이터를 DOM에서 긁어 낼 필요가 없습니다. 시피, 직렬화 된 쿼리는 아마도 올바른 형식이 아니지만 CF가 서버의 쿼리 개체로 다시 변환 할 것이라고 생각합니다. 이는 편리 할 것입니다. – barnyr

답변

5

왜 개체 배열 대신 3 개의 개별 배열에 모든 데이터를 넣을까요? 대신

SpecArray['Height'].push(H); 
    SpecArray['Width'].push(W); 
    SpecArray['Length'].push(L); 

사용

SpecArray.push({ 'height': H, 'width': W, 'length': L }); 

이 다음과 같이 객체의 배열 결과의

:

당신은하지만, 배열로 SpecArray을 초기화하기 위해서이
[ 
{ 'height': 10, 'width': 23, 'length': 156 }, 
{ 'height': 20, 'width': 21, 'length': 159 }, 
{ 'height': 30, 'width': 25, 'length': 154 }, 
{ 'height': 40, 'width': 27, 'length': 155 } 
] 

, 3 개의 배열을 포함하는 객체가 아닙니다.

+0

이것을 명확히 할 수 있습니까? "당신은 배열로서 SpecArray를 초기화해야합니다. 3 개의 배열을 포함하는 객체가 아닙니다." 나는이 방법으로 배열을 만들지 말라는 많은 예제를 보았습니다. 이 배열을 만드는 올바른 방법은 무엇입니까? –

+0

@EvikJames'SpecArray = {Height : [], Width : [], Length : []};'대신'var SpecArray = [];'를 사용하십시오. 마지막'alert()'외에도 코드를 잘 호출해야합니다. – Sirko

+0

정말 고마워요! 나는이 두뇌가 올바른 생각을 할 수 없었습니다. 나는 너의 시간과 지식에 감사한다. –

관련 문제