2016-06-25 4 views
0

이미지는 [1,2,3,4] 상태 (자리 표시 자, 처리 중, 허용 됨, 거부 됨)를 JSON 형식으로 가질 수 있습니다. 속성을 확인하고 콧수염 HTML에 배치 할 올바른 이미지를 선택하는 기능을 알아 냈습니다. >이 (반복적으로, 모든 항목에 대해) 첫 번째 이미지 변경이 나타납니다 -템플릿을 추가 할 때 json 속성의 이미지 변경

for (let i=0;i<101;i++) { 
     var output = Mustache.render(template, view[i]); 
     $('#entryTable tbody').append(output); 

     if (view[i].status == 2) { 
      this.getElementById('picture1').src= 'img/analyzing.png'; 
     } else if (view[i].status == 3) { 
      this.getElementById('picture1').src= 'img/irrelevant.png'; 
      console.log(this) 
     } else if (view [i].status == 4) { 
      this.getElementById('picture1').src= 'img/relevant.png'; 
     } 

그러나 '이'문서가 아닌 이미지를 말한다 :

나는 다음 시도했다.

다음, 나는 시도 (?)

보인다
for (let i=0;i<101;i++) { 
     var output = Mustache.render(template, view[i]); 
     $('#entryTable tbody').append(function() { 

//the default image in the template is state 1, hence it checks for state 2 and above 

     if (view[i].state == 2) { 
      this.getElementById('picture1').src= 'img/analyzing.png'; 
     } else if (view[i].state == 3) { 
      this.getElementById('picture1').src= 'img/irrelevant.png'; 
      console.log(this) 
     } else if (view [i].state == 4) { 
      this.getElementById('picture1').src= 'img/relevant.png'; 
     } 

     return output; 
}); 

작동하지만 하나 개의 항목을 추가 할 수 있습니다.

'this'에 익숙하지 않은데, 입력 한 특정 이미지를 변경하기 위해 올바른 컨텍스트/범위로 가져 오는 방법은 무엇입니까?

답변

0

if (view[i].state === 1) { 
      $("#entryTable tbody tr .status1").eq(i).attr("src", "img/analyzing.png"); 
     } else if (view[i].state === 3) { 
      $("#entryTable tbody tr .status1").eq(i).attr("src", "img/irrelevant.png"); 
     } else if (view[i].state === 4) { 
      $("#entryTable tbody tr .status1").eq(i).attr("src", "img/relevant.png"); 
     } 
} 

를 해결