2011-08-13 3 views
1

jQuery를 사용하여 간단한 테이블 필터를 효과적으로 만들 수 있습니까? 페이지 매김에 대해 신경 쓰지 않습니다.jQuery를 사용하여 간단한 테이블 필터를 작성하는 방법은 무엇입니까?

list -> 데이터를 선택하십시오.

저는 플러그인을 사용하고 싶지 않습니다. 짧은 코드를 사용하는 것을 선호합니다.

예 : Table Filter With JQuery

+0

당신이'좋은 Effect' 무엇을 의미합니까? 플러그인을 원하지 않는다면 지금까지 무엇이 있습니까? – pimvdb

+0

@pimvdb -'hide()'에 대한 효과. 내 코드 크기가 커서 플러그인을 사용할 수 없습니다. –

+2

본인의 질문은 조금 광범위합니다. Stack Overflow가 아닌 ​​'code this for this'질문과 많이 다르지 않습니다. 도움을받을 수있는 코드를 보여주고 싶을 수도 있습니다. – pimvdb

답변

3
$('#inputFilter').keyup(function() { 
    var that = this; 
    $.each($('tr'), 
    function(i, val) { 
     if ($(val).text().indexOf($(that).val()) == -1) { 
      $('tr').eq(i).hide(); 
     } else { 
      $('tr').eq(i).show(); 
     } 
    }); 
}); 

CHECH THIS

+0

http://jsfiddle.net에서'example'을 내게주세요. 이것이 모든 '페이지 매김'을위한 것인가? –

+0

@Sheikhasa Mozali 나는 당신에게 바이올린을주었습니다. 왜 이 사라 지는지 확인하십시오 – thecodeparadox

+0

을 확인하십시오? – Sashka

0

, 입력 필드의 값으로 행의 innerHTML을 나타내는 시험/검사 - 결과에 따라 콘텐츠를 숨기는보십시오.

$('#test').bind('keyup', function() { 
    var s = new RegExp(this.value); 
    $('tr').each(function() { 
     if(s.test(this.innerHTML)) $(this).show(); 
     else $(this).hide(); 
    }); 
}); 

JSFIDDLE 예제 테이블과 입력 필드

편집

대신 innerHTML을의 .text()을 사용하는 것이 좋습니다 수 있습니다. 성능에 따라 innerHTML이 더 좋을 수도 있지만 .text()은 html 태그를 유효한 검색 결과로 허용하지 않습니다. JSFIDDLE # 2.

+0

이 작업이 모든 데이터에 대해 또는 '페이지 매김'의 동일한 페이지에만있는 경우 (나는 페이지 매김의 모든 페이지에 대한 작업을 원합니다.) 괜찮아? –

+0

이것은 현재 테이블 페이지에서만 작동합니다. 따라서 5 페이지에있는 경우 5 페이지의 결과 만 찾아 필터링됩니다. – rsplak

관련 문제