Frontend/Bootstrap
[Bootstrap] Filter(검색 기능)
seoooc
2022. 2. 18. 20:21
Filter
filter : 검색
form-cotrol : form padding설정 등
table : table padding설정 등
table-striped : 줄단위로 백그라운드 설정
html
<div class="container">
<h1>Filter</h1>
<input type="text" id="search" placeholder="Search" class="form-control"/>
<hr/>
<table class="table table-striped">
<thead>
<tr>
<th>번호</th>
<th>이름</th>
<th>연락처</th>
<th>이메일</th>
</tr>
</thead>
<tbody id="searchList">
<tr>
<td>1</td>
<td>강하나</td>
<td>010-4444-5555</td>
<td>oneriver@naver.com</td>
</tr>
<tr>
<td>2</td>
<td>박코코</td>
<td>010-1111-2222</td>
<td>coco05@google.com</td>
</tr>
<tr>
<td>3</td>
<td>아몬드</td>
<td>010-1111-3333</td>
<td>monmon@nate.com</td>
</tr>
<tr>
<td>4</td>
<td>랄랄라</td>
<td>010-3232-4444</td>
<td>ralralra@naver.com</td>
</tr>
<tr>
<td>5</td>
<td>립톤</td>
<td>010-1212-5656</td>
<td>lipton@google.com</td>
</tr>
<tr>
<td>6</td>
<td>김안나</td>
<td>010-2444-3444</td>
<td>anna@naver.com</td>
</tr>
<tr>
<td>7</td>
<td>김엘사</td>
<td>010-8888-8888</td>
<td>elsaaaa@daum.net</td>
</tr>
<tr>
<td>8</td>
<td>왕겨울</td>
<td>010-1212-1212</td>
<td>winterking@naver.com</td>
</tr>
</tbody>
</table>
</div>
jquery
<script>
$(function(){
// search에 keyup이벤트 발생한 경우 테이블에서 검색어에 해당하는 리스트만 출력
$("#search").keyup(function(){
var value = $(this).val().toLowerCase(); //대소문자 구분X
// searchList 내의 한 줄씩 filter
$("#searchList>tr").filter(function(){
//value가 tr에 있는지 확인 있으면 index값 없으면 -1
var idx = $(this).text().toLowerCase().indexOf(value);
$(this).toggle(idx>-1); //true-> 그냥 둠, false-> 숨김
});
});
});
</script>