회원등급 필터
본문
<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;
}