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

[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 속성의 속성값  내용은 검색 필터링 되지 않음.

 


분류 제목
AJAX JQ - $.getScript() 메서드 ★ - AJAX HTTP GET 요청을 사용하여 서버에서 JS 가져…
AJAX JQ - $.param() 메서드 - 배열/객체의 직렬화 된 표현 생성 (※ AJAX 요청에 대한 URL 쿼…
AJAX JQ - $.post() 메서드 ★ - AJAX HTTP POST 요청을 사용하여 서버에서 데이터를 로드 (…
AJAX JQ - ajaxComplete() 메서드 - AJAX 요청 완료 시, 실행할 함수 지정 (= ajaxCom…
AJAX JQ - ajaxError() 메서드 - AJAX 요청 실패 시 실행할 함수 지정 (= ajaxError메서…
AJAX JQ - ajaxSend() 메서드 - AJAX 요청을 보내기 전에 실행할 함수 지정 (= ajaxSend메…
AJAX JQ - ajaxStart() 메서드 - 첫 번째 AJAX 요청이 시작될 때 실행할 함수 지정 (= ajax…
AJAX JQ - ajaxStop() 메서드 - 모든 AJAX 요청이 완료되었을 때 실행할 함수 지정 (= ajaxS…
AJAX JQ - ajaxSuccess() 메서드 - AJAX 요청이 성공적으로 완료될 때 실행할 함수 지정 (= a…
AJAX JQ - load() 메서드 - 서버에서 데이터를 로드하고 반환된 데이터를 선택요소에 저장 (= load메서…
AJAX JQ - serialize() 메서드 ★ = 전송 위해 폼 요소 집합을 직렬화 (= serialize메서드 …
AJAX JQ - serializeArray() 메서드 - 일련의 폼 요소를 이름과 값의 배열로 인코딩 (= seri…
Misc JQ - data() 메서드 ★★ - 선택요소에 데이터 첨부. / 선택요소의 데이터 반환. (= data메…
Misc JQ - get() 메서드 ★ - 선택자가 가리키는 DOM 요소 가져오기. (= get메서드 = 겟메서드)
Misc JQ - index() 메서드 ★★★ - 요소 색인번호 반환 (= 일치하는 요소 중에서 지정요소 검색 = i…
Misc JQ - $.noConflict() 메서드 - $ 변수에 대한 jQuery의 제어를 해제
Misc JQ - $.param() 메서드 - 배열/객체의 직렬화 된 표현 반환 (※ AJAX 요청에 대한 URL 쿼…
Misc JQ - removeData() 메서드 - 이전 저장데이터 제거
Misc JQ - size() 메서드 - 요소개수 (= size메서드 = 사이즈 메서드) ※ JQ3.0 폐기완료. 대…
Misc JQ - toArray() 메서드 ★ - 일치요소 배열반환 (= 선택자와 일치하는 모든 요소를 배열로 가져오…
13/15
목록
찾아주셔서 감사합니다. Since 2012