2014-02-27 3 views
2

3 열이있는 테이블이 있습니다.HTML 테이블 열의 유형을 결정하는 방법

  1. 가 숨겨져 및
  2. 예를 포함한다
  3. 가 포함되어 선택된 행의 "ID", "제품"이름이 포함되어/아니오 나타내는 제품은 존재하지 여부를

행 클릭에

$("#Product_grid_wrapper table tr").click(function() { 

     //empty the array 
     selectedProduct = []; 

     $('#Product_grid_wrapper table tr').removeClass("row_selected"); 

     $(this).find('td').each(function() { 
      selectedProduct.push($(this).text()); 
     }); 

     $(this).addClass("row_selected"); 
    }); 

으로 배열에 세부 사항을 밀어하지만 변경하라는 메시지가되었다 "예/아니오"는 어 이미지가 해냈어와 perfectl 와이. 이제 세 번째 열은이 사건을 처리 할 수있는 image.How을 포함하는대로 3 열에 대한 실패 영문

하지만 코드

selectedProduct.push($(this).text());  

를 사용하여 런타임에 설정 이미지, 이미지 태그를 포함한다?

Server.But에서 Image 태그에 class = "yes/no"를 부여 할 수 있습니다. 위의 코드에서이 값을 읽을 수있는 방법은 무엇입니까? table col의 내용 유형을 찾고 적절한 함수를 사용하십시오.

당신이 이미지에 예/아니오 클래스를 추가 한 경우
$(this).find('td').each(function() { 
      //if(type of content of td is image tag) 
      { 
       selectedProduct.push($(this).html()); 
       //will extract "class " of image tag to get "yes/no" value 
      } 
      else{ 
       selectedProduct.push($(this).text()); 
      } 
     }); 

답변

1

text()의 시도, 당신이 시도 할 수 :

if($(this).find('img').length == 1) { 
    selectedProduct.push($(this).find('img').attr('class')); 
} 
+0

감사합니다 그것을 시도에 배열이 인쇄되는 동안 적외선 이미지 태그에 몇 가지 이상한 값을 줄 것이다 :

<tr id="123"> <td>_productName</td> <td> <img data-present="yes" src="..." /> </td> </tr> 

그런 다음 사용할 수 있습니다. 효과가있다. –

0

html() 대신

selectedProduct.push($(this).html()); 
+0

을하지만,이 콘솔에 이미 –

0

가능한 경우 열을 숨기고 CSS 클래스를 놓치는 대신 요소의 속성을 사용해보십시오. 아마 다음과 같이 :

selectedProduct.push({id : $(this).id, present : $(this).find('img').data('present')}); 
관련 문제