2012-01-21 3 views
0

jQuery에서 검색 기능을 구축 중입니다. 3 개의 드롭 다운이 MySQL 데이터베이스에서로드됩니다. 사용자가 드롭 다운 중 하나를 선택하면 다른 드롭 다운 값에 영향을줍니다.검색 기능을위한 조건부 JQuery 드롭 다운

별도의 값으로 작업하게 만들었지 만 2 ~ 3 번의 드롭 다운을 선택할 때 막혔습니다. & & 연산자로 작업했지만 작동하지 않습니다. 누군가 내가 무엇을 잘못하고 있는지보세요. 이 같은

<script type="text/javascript"> 
    $(document).ready(function() { 
    if($(("#IndID").change) && $(("#CatID").change)) { 
    $("#ProdName").load("scriptp.php?c3=" + $("#IndID").val() + $("#CatID").val()); 
    } 

     if($(("#IndID").change) && $(("#ProdName").change)) { 
     $("#CatID").load("scriptc.php?c=" + $("#IndID").val() + $("#ProdName").val()); 
    } 

     $("#IndID").change(function() { 
     $("#CatID").load("scripti.php?c=" + $("#IndID").val()); 
     }); 

     $("#CatID").change(function() { 
      $("#ProdName").load("script.php?cc=" + $("#CatID").val()); 
     }); 

    }); 
</script> 
+0

나는 또한 jsfiddle.net에 대한 링크가 : 당신이 "(('$에 계신 http://jsfiddle.net/QXKMV/3/ –

+0

정말하지 않습니다를 #IndID "). 변경) && $ ((" "CatID") 변경))'. "두 가지가 모두 바뀌면"을 의미합니까? –

+0

안녕하세요 디디에, 예. 두 드롭 다운을 모두 선택하면 세 번째 드롭 다운을 위해 두 변수를 스크립트에 전달해야합니다. –

답변

0

뭔가 :

$(document).ready(function() { 

    // query already the elements you're going to use 
    var $ind = $("#IndID"), 
     $cat = $("#CatID"), 
     $prod = $("#ProdName"); 

    $ind.change(function(e) { 
     // populate the second select 
     if ($(this).val() === "") { 
      $cat.html(''); 
     } else { 
      $cat.load("scripti.php?c=" + $ind.val()); 
     } 
     // reset the third select 
     $prod.html(''); 
    }); 

    $cat.change(function(e) { 
     // populate the third select 
     if ($(this).val() === "") { 
      $prod.html(''); 
     } else { 
      $prod.load("scriptc.php?c=" + $ind.val() + $cat.val()); 
     } 
    }); 

}); 

: DOM을 조회하는 것은 효율적이지 그래서 정적 요소를 한 번 쿼리하고 대신 작업을 JQuery와 객체를 사용하는 것이 좋습니다 모든 시간을 다시 질의합니다.

DEMO