Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
자바스크립트 토글내부에서 어레이로 조건 맞추기? 라고 해야할까요

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

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

QA

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

답변 1

본문


 
    $(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); 
        });

  });
});

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로