-
[jQuery] 테이블에서 동적으로 데이터 검색해 테이블 조회Study/JavaScript 2020. 12. 29. 21:29
jQuery-ui.js 이용
jsp
<div> <input type="text" id="searchInput" placeholder="이름/나이/전화번호 검색"/> <table id="personInfoTable"> <thead> <tr> <th>No.</th> <th>이름</th> <th>나이</th> <th>전화번호</th> </tr> </thead> <tbody> <tr> <td>1</td> <td class="search">홍길동</td> <td class="search">30</td> <td class="search">010-1234-1234</td> </tr> <tr> <td>2</td> <td class="search">임꺽정</td> <td class="search">25</td> <td class="search">010-2222-2222</td> </tr> <tr> <td>3</td> <td class="search">이몽룡</td> <td class="search">17</td> <td class="search">010-8888-1234</td> </tr> </tbody> </table> </div>
js
$("#searchInput").on('change keyup paste', function() { var currentVal = $.trim($(this).val()); $('#personInfoTable > tr').hide(); var temp = $('#personInfoTable > tr > td.search:contains("' + currentVal + '")'); $(temp).parent().show(); });
js 설명
change로 input값이 변경될때 이벤트 발생
keyup로 키보드로 입력을 할때마다 동적으로 테이블을 보여준다.
paste로 붙여넣기를 했을 경우도 이벤트 발생
$.trim(): input text 양쪽 공백 제거
$().hide(): 테이블 아래 데이터를 모두 숨긴다음 show로 원하는 컬럼만 보여준다.
특정 컬럼 검색 방법
td에 classs="search"를 추가했다. 그리고js에서 td.search로 검색하여 search가 적혀 있는 td만 검색되도록 했다.
저렇게 No.만 빼고 search를 넣으면 search가 적힌 컬럼만 검색이된다.
도움이 되셨다면 아래 ♡ 눌러주세요 (로그인 필요 없습니당)
'Study > JavaScript' 카테고리의 다른 글
[IE] 템플릿 리터럴 `(SCRIPT1014: 유효하지 않은 문자입니다. 오류) (0) 2021.06.03 [jQeury] IE/Chrome숫자만 입력 가능 (0) 2021.01.05 [IE] Internet Explorer에서 value=""일 경우 value="1"로 변경되는 경우 해결방법 (0) 2020.12.29 [jQuery] CSS 속성 추가/변경/여러개 속성 변경 (0) 2020.12.21 [jQuery] 문법: 기호 '$(달러)' 의미 (0) 2020.11.02