자바스크립트 토글내부에서 어레이로 조건 맞추기? 라고 해야할까요

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
자바스크립트 토글내부에서 어레이로 조건 맞추기? 라고 해야할까요

QA

자바스크립트 토글내부에서 어레이로 조건 맞추기? 라고 해야할까요

본문


 
    $(document).ready(function(){
        $("#search").on("keyup", function() {
            var value = $(this).val().toLowerCase();
            $(".model").filter(function() {
                $(this).toggle(
                    $(this).text().toLowerCase().indexOf(value) > -1 
                    ||
                    $(this).text().toLowerCase().indexOf('모델명1') > -1
                );
            });
        });
    });
 

 

안녕하세요 구글링도 해보고 알고 있는 것만으로는 도저히 찾아낼수가 없어서 글을 올립니다.

 

위 스크립트는 w3schools 에 있던건 약간 변형한건데요

원래는 인풋 박스에 검색하여서 하는 것인데요

https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_filters_list&stacked=h

 

저는 저것을 이용하여 필터링 같은걸 만들어 보고자 하는데

예를 들면 나이로 검색시 1940,1941,1942 를 동시에 검색하려는데 그게 잘 안되더군요

그래서

                    $(this).text().toLowerCase().indexOf(value) > -1 
                    ||
                    $(this).text().toLowerCase().indexOf('모델명1') > -1

이런식으로 || 을 사용하여 테스트를 해보니 두가지 조건으로 동시에 가능하더라고요

그런데

꼭 || 이렇게 해야하는지

좀 더 많이 알고 계신 분들은 배열을 이용하실것 같은데

저는 배열을 이용하게되더라고 위에 저 부분을 어찌 수정해야할지 답이 안나오네요

 

이 질문에 댓글 쓰기 :

답변 1

아래처럼 한번 해보세요

 

$(document).ready(function(){
  $("#myInput").on("keyup", function() {
    var value = $(this).val().toLowerCase();
    var age_array= value.split(",");//구분자,

    /*
    $("#myList li").filter(function() {
      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
    });
    */
        $("#myList li").filter(function() {
            var test_value=$(this).text().toLowerCase();
            var toggle_index=false;
            
            for(var i=0;i<age_array.length;i++)
            {
                if(age_array[i]!=""){
                    if(test_value.indexOf(age_array[i]) > -1){
                        toggle_index=true;
                        break;
                    }
                }
            }
            $(this).toggle(toggle_index); 
        });

  });
});

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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