2011-09-14 12 views
2

Jquery에서 데이터 배열의 대체를 orginize하는 방법은 무엇입니까?배열의 값을 루프로 대체하기

나는이 같은 외부 파일의 데이터 배열을 : HTML 파일에서

var prod = []; 
prod[0] = ['one', 'two', 'three']; 
prod[1] = ['four', 'five', 'six']; 
... 

나는

<tr> 
    <td class="prodname">prod[4][1]</td> 
    <td class="prodnum">prod[4][2]</td> 
    <td class="mprice_el">prod[4][3]</td> 
</tr> 

하고 배열에서 데이터를 대체하기 위해 필요한 통화 기능 fill();로 붙여 넣을.

function fill(){ 
    var prodname; 
    var prodnum; 
    var prodprice; 
    $('.prodname').each(function(){ 
     for (var i = 0; i < prod.length; i++) { 
      $(this).html(prodname); 
     } 
    } 
} 

을하지만 HTML에서 ID를 얻고 배열과 비교하는 방법을 모른다 :

나는 이런 식으로하려고합니다.

+2

단지 보조 노트 : 당신이있는 경우 검색 엔진 (예 : Google)에서 색인을 생성해야하는 웹 사이트에이 정보를 사용하면 제품을 읽을 수 없습니다. 대신 서버 측 언어를 사용하도록 조언합니다. – jeffreydev

+2

왜 HTML을' data-key = "4"data-subkey = "1">'와 같이 설정하지 않습니까? – Shef

+1

@ jeffreydev : 나는 서버 측에서 옳은 일을 할 것이라는 데 동의하지만, Google이 가치있는 것은 JavaScript를 사용하는 페이지도 색인화합니다. – Shef

답변

1

나는 (당신은 아마 결과를 유효성을 검사 할 것이지만)이 같은 것을 찾고, 제대로 이해하고 :

$('.prodname').text(function(i, t){ 
    var m = t.match(/^prod\[(\d+)\]\[(\d+)\]$/); 
    return prod[m[1]][m[2]]; 
}); 

예 : http://jsbin.com/anusoj/3

+0

또 다른 옵션은'$ ('. prodname')입니다. 텍스트 (function (i, t) {return eval (t);});'그러나 경고를줍니다 : * "eval is evil"*. – Kobi

+0

정말 고마워요! Woks good! – skywind

+0

하지만 콘솔에 표시 오류가 있습니다. '잡히지 않은 유형 오류 :'1 '의 속성을 읽을 수 없습니다.'어떻게 개선합니까? – skywind

관련 문제