회원등급 필터

회원등급 필터

QA

회원등급 필터

본문


<div class="cm11_top_right_wrap">
<select id="mb_level" name="mb_level[<?php echo $i ?>]" onchange="filterData()">
<option value="0"<?php echo get_selected($row['mb_level'], 0) ?>>등급선택</option>
<option value="2"<?php echo get_selected($row['mb_level'], 2) ?>>승인대기</option>
<option value="3"<?php echo get_selected($row['mb_level'], 3) ?>>E</option>
<option value="4"<?php echo get_selected($row['mb_level'], 4) ?>>D</option>
<option value="5"<?php echo get_selected($row['mb_level'], 5) ?>>C</option>
<option value="6"<?php echo get_selected($row['mb_level'], 6) ?>>B</option>
<option value="7"<?php echo get_selected($row['mb_level'], 7) ?>>A</option>
<option value="8"<?php echo get_selected($row['mb_level'], 8) ?>>S</option>
<option value="9"<?php echo get_selected($row['mb_level'], 9) ?>>운영팀</option>
<option value="10"<?php echo get_selected($row['mb_level'], 10) ?>>관리팀</option>
<option value="15"<?php echo get_selected($row['mb_level'], 15) ?>>최고관리자</option>
</select>

이거를 필터링을 할 수 있게 하려고하는데 어떻게 해야될까요? 셀렉트 박스내에서 해당 등급을 선택하면 바로 필터링되서 해당 데이터가 보이게 하려고 합니다.

이 질문에 댓글 쓰기 :

답변 4

이걸 참고해 보시겠어요?

 

 

<div class="cm11_top_right_wrap">
  <select id="mb_level" name="mb_level[<?php echo $i ?>]" onchange="filterData()">
    <option value="0"<?php echo get_selected($row['mb_level'], 0) ?>>등급선택</option>
    <option value="2"<?php echo get_selected($row['mb_level'], 2) ?>>승인대기</option>
    <option value="3"<?php echo get_selected($row['mb_level'], 3) ?>>E</option>
    <option value="4"<?php echo get_selected($row['mb_level'], 4) ?>>D</option>
    <option value="5"<?php echo get_selected($row['mb_level'], 5) ?>>C</option>
    <option value="6"<?php echo get_selected($row['mb_level'], 6) ?>>B</option>
    <option value="7"<?php echo get_selected($row['mb_level'], 7) ?>>A</option>
    <option value="8"<?php echo get_selected($row['mb_level'], 8) ?>>S</option>
    <option value="9"<?php echo get_selected($row['mb_level'], 9) ?>>운영팀</option>
    <option value="10"<?php echo get_selected($row['mb_level'], 10) ?>>관리팀</option>
    <option value="15"<?php echo get_selected($row['mb_level'], 15) ?>>최고관리자</option>
  </select>
</div>

<!-- 데이터를 표시할 영역 -->
<div id="dataList">
  <!-- 데이터 리스트를 출력하는 부분 -->
  <!-- 이 부분은 동적으로 업데이트될 것입니다. -->
</div>

<script>
  function filterData() {
    var selectedLevel = document.getElementById('mb_level').value;
    var dataList = document.getElementById('dataList');

    // 데이터 필터링 로직을 작성합니다.
    // 예시로, 선택한 등급과 일치하는 데이터만 보이도록 필터링하는 로직을 작성합니다.
    var dataItems = dataList.getElementsByClassName('data-item');
    for (var i = 0; i < dataItems.length; i++) {
      var dataItem = dataItems[i];
      var itemLevel = dataItem.getAttribute('data-level');
      if (itemLevel === selectedLevel || selectedLevel === '0') {
        dataItem.style.display = 'block'; // 선택한 등급과 일치하거나 '등급선택'이면 보이도록 설정
      } else {
        dataItem.style.display = 'none'; // 선택한 등급과 일치하지 않으면 숨김 처리
      }
    }
  }
</script>

 

 

 

filterData() 함수에 스크립트로 처리해서 해당 검색기준으로 바로 보이게 하려면 ajax를 쓰셔야 하고

아니면 폼변수를 전송해서 필터링되어 보이도록 수정해야 합니다.

filterData() 함수가 onchange시 실행 함수이므로..


let val = $(this).val();
location.href = 기존주소+val;

이렇게 간단하게 그냥 페이지 이동 방식이 있고

ajax로 데이터를 얻어와서 뿌려주는 방법도 있습니다

어떤 화일에 질문의 내용이 있는지 부터 설명이 있어야 하는데....

허여튼 adm/member_list.php 에서 사용하는 방법

 

function filterData(){

 stx = $("#mb_level option:selected").val();

 location.href="?sfl=mb_level&stx="+stx;

}

 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,788
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT