• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] BS4 - Filter (필터링) ★ - 테이블필터링 + 리스트필터링 + 드롭다운필터링 + div안 텍스트필터링 ※ filter() 메서드 = filter메서드

목차
  1. Table 검색필터링
  2. List 검색필터링
  3. Dropdown 검색필터링
  4. div 검색필터링

※ BS엔 필터링 구성요소 없음. (※ jQuery 이용해야 가능.)

※ BS3와 동일

 

Table 검색필터링


<!DOCTYPE html>

<html lang="ko">

<head>

  <title>테이블 검색필터</title>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

</head>

<body>


<div class="container">

  <input class="form-control" id="hzInput" type="text" placeholder="Search..">

  <br>

  <table class="table table-bordered table-striped">

    <thead>

      <tr>

        <th>등급</th>

        <th>과정</th>

        <th>설명</th>

      </tr>

    </thead>

    <tbody id="hzTable">

      <tr>

        <td>초급</td>

        <td>HTML</td>

        <td>홈페이지 기본 뼈대</td>

      </tr>

      <tr>

        <td>중급</td>

        <td>CSS</td>

        <td>홈페이지 디자인</td>

      </tr>

      <tr>

        <td>고급</td>

        <td>JS</td>

        <td>홈페이지 동적 기능</td>

      </tr>

    </tbody>

  </table>

</div>


<script>

$(document).ready(function(){

  $("#hzInput").on("keyup", function() {

    var value = $(this).val().toLowerCase();

    $("#hzTable tr").filter(function() {

      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)

    });

  });

});

</script>


</body>

</html>


결과보기


PS.

 

1.

$(this)의 text를 소문자로 변경한 값이 value 포함 시 $(this)를 toggle 해라.

 

2.

toggle() 메서드

  • 검색과 일치하지 않는 행을 숨기는 역할. (display : none 처리)
  • 기본적으로 visible 이면 invisible 로, invisible 이면 visible 로 설정"하지만 안에 참거짓 (boolean)을 쓴 경우에는 true면 show, false면 hide시킴.

3.

toLowerCase () 메서드

  • 텍스트를 소문자로 변환해 검색에서 대소 문자를 구분하지 않는 역할.

 

 

 

List 검색필터링


<!DOCTYPE html>

<html lang="ko">

<head>

  <title>리스트 검색필터</title>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

</head>

<body>


<div class="container">

  <input class="form-control" id="hzInput" type="text" placeholder="Search..">

  <br>

  <ul class="list-group" id="hzList">

    <li class="list-group-item">HTML</li>

    <li class="list-group-item">CSS</li>

    <li class="list-group-item">JS</li>

  </ul>  

</div>


<script>

$(document).ready(function(){

  $("#hzInput").on("keyup", function() {

    var value = $(this).val().toLowerCase();

    $("#hzList li").filter(function() {

      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)

    });

  });

});

</script>


</body>

</html>


결과보기


Dropdown 검색필터링


<!DOCTYPE html>

<html lang="ko">

<head>

  <title>드롭다운 검색필터</title>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

  <style>

  /* input 입력창 스타일 */

  #hzInput {

    padding: 20px;

    margin-top: -6px;

    border: 0;

    border-radius: 0;

   color:white;

    background: black;

  }

  </style>

</head>

<body>


<div class="container">

  <div class="dropdown">

    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
          메뉴보기 <span class="caret"></span>
   </button>

    <ul class="dropdown-menu">

      <input class="form-control" id="hzInput" type="text" placeholder="Search..">

      <li><a href="#">HTML</a></li>

      <li><a href="#">CSS</a></li>

      <li><a href="#">JS</a></li>

      <li><a href="#">jQuery</a></li>

      <li><a href="#">SQL</a></li>

      <li><a href="#">PHP</a></li>

    </ul>

  </div>

</div>


<script>

$(document).ready(function(){

  $("#hzInput").on("keyup", function() {

    var value = $(this).val().toLowerCase();

    $(".dropdown-menu li").filter(function() {

      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)

    });

  });

});

</script>


</body>

</html>


결과보기

 

div 검색필터링


<!DOCTYPE html>

<html>

<head>

  <title>DIV안 텍스트 검색필터링</title>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

</head>

<body>


<div class="container">

  <input class="form-control" id="hzInput" type="text" placeholder="Search..">

  <div id="hzDIV">

    <p>HTML</p>

    <div>CSS</div>

    <button class="btn">JS</button>

    <button class="btn btn-info">SQL</button>

    <p>PHP</p>

  </div>

</div>


<script>

$(document).ready(function(){

  $("#hzInput").on("keyup", function() {

    var value = $(this).val().toLowerCase();

    $("#hzDIV *").filter(function() {

      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)

    });

  });

});

</script>


</body>

</html>

 

결과보기


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
basic BS4 - HOME (BS소개)
basic BS4 - Start (BS시작) - BS4다운 / BS4CDN / BS4구문
basic BS4 - Container (BS컨테이너) - 박스형 vs 와이드형 (= .container vs. .co…
basic BS4 - Grid (BS그리드)
basic BS4 - Text/Typography (BS글자 = BS텍스트)
basic BS4 - Color (BS색깔 = BS색상) - BS글자색 + BS배경색
basic BS4 - Table (BS테이블) - 테이블테두리 + 테이블배경색 + 반응형테이블
basic BS4 - Image (BS이미지) - 이미지모양 + 이미지정렬 + 반응형이미지
basic BS4 - Jumbotron (BS점보트론) - 박스형 vs 와이드형
basic BS4 - Alert (BS경고 = BS얼럿 = BS경보) - 배경색 + 글자색 + 링크색 + 닫기 + 애니…
basic BS4 - Button (BS버튼) - 버튼색깔 + 버튼크기 + 버튼활성화 + 버튼비활성화
basic BS4 - Button Group (BS버튼그룹)
basic BS4 - Badge (BS배지)
basic BS4 - Progress Bar (BS진행바 = BS진도바 = BS프로그레스바)
basic BS4 - Spinner (BS스피너 = BS회전 = BS로더)
basic BS4 - Pagination (BS페이지매기기 = BS페이지번호 = BS페이징 = BS패지네이션) + BS…
basic BS4 - List Group (BS리스트그룹)
basic BS4 - Card (BS카드) - Well (BS웰) + Panel (BS패널) + Thumbnail (B…
basic BS4 - Dropdown (BS드롭다운/BS드롭업 = BS드랍다운/BS드랍업)
basic BS4 - Collapse (BS접기 = BS컬랩스 = BS토글)
basic BS4 - Nav (네브) - 간단메뉴 + 일반탭 + 알약탭
basic BS4 - Navbar (메뉴바) - 네비게이션 메뉴바 (= 네브바 = 네비바) ※ BS4분기점
basic BS4 - Form (BS폼양식)
basic BS4 - Input (BS입력 = BS인풋)
basic BS4 - Input Group (BS입력그룹 = BS인풋그룹)
basic BS4 - Custom Form (BS커스텀폼)
basic BS4 - Carousel (BS캐러셀)
basic BS4 - Modal (BS모달)
basic BS4 - Tooltip (BS툴팁 = BS말풍선 허버형)
basic BS4 - Popover (BS팝오버) ★ - 클릭형말풍선
basic BS4 - Toast (BS토스트) - 순간말풍선 (= 팝업상자 = 짧은경고창 = 스낵바)
basic BS4 - Scrollspy (BS스크롤스파이) - 원페이지메뉴링크 (= 내부링크)
basic BS4 - Utilities (BS유틸클래스 + BS4추가클래스) ★★★★★
basic BS4 - Flex (BS플렉스박스) ★★★★★
basic BS4 - Icon (BS아이콘)
basic BS4 - Media Object (BS미디어객체) - 썸네일형, 요약형
basic BS4 - Filter (필터링) ★ - 테이블필터링 + 리스트필터링 + 드롭다운필터링 + div안 텍스트필…
grid BS4 - Grid (BS그리드) - 반응형 레이아웃 ★★★
grid BS4 - Grid Stacked-to-horizontal (BS그리드 수직정렬 → 수평정렬)
grid BS4 - Grid Extra Small (BS그리드 초소형기기) - .col-숫자, .col 클래스
grid BS4 - Grid Small (BS그리드 소형기기) - .col-sm-숫자, .col-sm 클래스
grid BS4 - Grid Medium (BS그리드 중형기기) - .col-md-숫자, .col-md 클래스
grid BS4 - Grid Large (BS그리드 대형기기) - .col-lg-숫자, .col-lg 클래스
grid BS4 - Grid Extra Large (BS그리드 초대형기기) - .col-xl-숫자, .col-xl 클…
grid BS4 - Grid Example (BS그리드 예제) ★
theme BS4 - Template (BS템플릿)
BS_bookmark BS4 - BS메가메뉴
BS_bookmark BS4 - Masonry (메이슨리) 갤러리
목록
찾아주셔서 감사합니다. Since 2012