JQuery

[Misc] JQ - 검색필터링 (= 일치값 찾기)

목차
  1. table 검색 필터 예제
  2. List 검색 필터 예제
  3. 모든 요소 검색 필터 예제

 

table 검색 필터 예제

 

<!DOCTYPE html>

<html>

<head>

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

<script>

$(document).ready(function(){

  $("#search").on("keyup", function() { // 검색창 입력 이벤트 발생 시

    var value = $(this).val().toLowerCase(); // 입력 내용을 소문자로 전환해 value 변수에 담아

    $("#homzzang tr").filter(function() { // 일치하는 tr 요소만 보여 줘.

      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1) // 일치하는 글자 있으면

    });

  });

});

</script>

<style>

#search {

    height:30px;

    text-indent:5px;

}

table {

    font-family: arial, sans-serif;

    border-collapse: collapse;

    width: 100%;

}


td, th {

    border: 1px solid #fa4975;

    text-align: left;

    padding: 8px;

    color:#fa4975;

    height:40px;

}


tr:nth-child(even) {

    background-color: #fff8f8;

}

</style>

</head>

<body>


<h2>Table 검색 필터</h2>

<input id="search" type="text" placeholder="여기에 검색어 입력">

<br><br>


<table>

  <thead>

    <tr>

      <th>사이트명</th>

      <th>도메인</th>

      <th>주재</th>

    </tr>

  </thead>

  <tbody id="homzzang">

    <tr>

      <td>홈짱닷컴</td>

      <td>Homzzang.com</td>

      <td>HTML, CSS, JS, JQUERY, PHP, SQL, BS</td>

    </tr>

    <tr>

      <td>그누보드</td>

      <td>sir.kr</td>

      <td>그누보드5, 영카트5, 그누커머스, 홈짱 놀이터</td>

    </tr>

    <tr>

      <td>마이위트</td>

      <td>miwit.kr</td>

      <td>배추빌더5, 배추베이직, 곱슬최씨 님. 홈짱 놀이터</td>

    </tr>

    <tr>

      <td>아미나</td>

      <td>amina.co.kr</td>

      <td>아미나빌더, 한별아빠 님, 홈짱 놀이터</td>

    </tr>

  </tbody>

</table>


</body>

</html>


결과 보기


PS.

  • 테이블 헤드 마저 걸러지는 걸 막기 위해, tbody부터 검색함.
  • toggle() 메서드는 일치하지 않는 요소를 숨기는 역할 함. (즉, display:none 속성 부여 역할 함.)
  • toLowerCase() 메서드는 대문자 글자를 소문자로 전환해 대소문자 안 가리고 검색 하는 역할 함.



List 검색 필터 예제

 

<!DOCTYPE html>

<html>

<head>

<style>

 #search {

    height:30px;

    text-indent:5px;

}

  </style>

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

<script>

$(document).ready(function(){

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

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

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

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

    });

  });

});

</script>

</head>

<body>


<h2>List 검색</h2>

<input id="search" type="text" placeholder="여기에 검색어 입력">

<br>


<ul id="homzzang">

  <li>홈짱닷컴</li>

  <li>Homzzang.com</li>

  <li>홈페이지</li>

  <li>제작강의</li>

</ul>

    

</body>

</html>


결과 보기


모든 요소 검색 필터 예제

 

<!DOCTYPE html>

<html>

<head>

<style>

#search {

    height:30px;

    text-indent:5px;

}

div {

    margin-bottom:20px;

}

</style>

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

<script>

$(document).ready(function(){

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

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

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

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

    });

  });

});

</script>

</head>

<body>


<h2>모든 요소 검색 필터링</h2>

<input id="search" type="text" placeholder="Search..">

<div id="homzzang">

  <h2>홈짱닷컴 (h2 요소)</h2>

  <div>Homzzang.com (div 요소)</div>

  <button>회원가입 (buttom 요소)</button>

  <input type="button" value="로그인 (input요소) - 요건 검색 X">

  <p>홈페이지 제작 무료 강의 (p 요소)</p>

</div>

  

</body>

</html>



결과 보기

※ <input value="입력값"> 처럼, input 요소 value 속성의 속성값  내용은 검색 필터링 되지 않음.

 

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

분류 제목
HTML_CSS JQ - text() 메서드 - 선택요소 텍스트 내용설정/내뇽변경/내용반환. (= text메서드 = 텍스트메…
HTML_CSS JQ - toggleClass() 메서드 ★★★ - 클래스추가/제거 상호전환. (= toggleClass메서…
HTML_CSS JQ - unwrap() 메서드 - 부모요소 제거 (= unwrap메서드 = 언랩 메서드)
HTML_CSS JQ - val() 메서드 ★★★ - value속성 값설정/값반환 (= val메서드 = 밸메서드) ※ 밸류메…
HTML_CSS JQ - width() 메서드 ★★★ - 요소 너비 설정/반환. (= width메서드 = 위드스메서드)
HTML_CSS JQ - wrap() 메서드 ★ - 선택요소를 지정 부모요소로 감싸기. (= wrap메서드 = 랩메서드)
HTML_CSS JQ - wrapAll() 메서드 - 선택요소 모두를 한번에 지정 요소로 감싸기. (= wrapAll메서드 …
HTML_CSS JQ - wrapInner() 메서드 - 선택요소 안 내용을 지정 요소로 감싸기 (= wrapInner메서드…
Traversing JQ - add() 메서드 ★ - 일치하는 요소 집합에 지정 요소가 추가된 새 jQuery 객체 생성. (=…
Traversing JQ - addBack() 메서드 - 이전집합요소를 현재집합에 추가 (= 애드백메서드)
Traversing JQ - andSelf() 메서드 - addBack() ​​별칭 (※ 제이쿼리 1.8 버전에서 폐기예고)
Traversing JQ - children() 메서드 ★ - 모든 자식요소 반환 (= children메서드 = 칠드런메서드)
Traversing JQ - closest() 메서드 ★ - 선택요소 첫번째 조상 반환 (= 최근접 지정 조상요소 선택 = cl…
Traversing JQ - contents() 메서드 - 선택요소의 모든 직접 자식요소 반환 (= contents메서드 = 콘…
Traversing JQ - each() 메서드 ★★★ - 각 일치요소에 대해 함수 실행. (= 제이쿼리 반복문 = each메서…
14/20
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 2
웹유틸
회원센터
홈짱 PC버전 로그인