Bootstrap 4

[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토글)
1/3
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드 1
제작의뢰
Q&A
커뮤니티 5
웹유틸
회원센터
홈짱 PC버전 로그인