2013-02-21 8 views
0

사용자가 특정 품종을 선택하여 개 품종을 좁힐 수있는 개 품종 선택 도구를 만들려고합니다.jquery로 선택 도구를 만드는 방법

$(document).ready(function(){ 
    $("#big,#long").click(function(){ 
    $("#pug").hide(); 
    }); 
    $("#small,#long").click(function(){ 
    $("#bull").hide(); 
    }); 
    $("#big,#short").click(function(){ 
    $("#pom").hide(); 
    }); 
    $("#small,#short").click(function(){ 
    $("#new").hide(); 
    }); 
}); 
</script> 
<p>Size</p> 
<button id="small">Small</button> 
<button id="big">Big</button> 
<p>Coat</p> 
<button id="short">Short Hair</button> 
<button id="long">Long Hair</button> 
<p id="pug">Pug</p> 
<p id="bull">Bulldog</p> 
<p id="pom">Pomeranian</p> 
<p id="new">Newfoundland</p> 

내가 다시 선택 다른 특성 후 다시 할 수있는 품종을 얻기 위해() .show 통합 시도했다, 그러나 다른 품종 모두의 목적을 패배하는 다시 : 이것은 내가 지금까지 무엇을 가지고 도구.

나는 약간의 PHP를 알고 있으므로, 대신 그것을 사용하는 것이 더 쉬운지 알려 주시기 바랍니다.

감사

+0

결합 하시겠습니까? 예를 들어'small'과'long'을 클릭하면'# bull'이 숨겨집니다. – BenM

+0

버튼을 클릭하는 순간 무언가가 숨겨지며 같은 버튼을 다시 클릭하면 숨겨진 내용을 표시하겠습니까? – aurel

+0

@BenM 작거나 긴 (또는 둘 다를) 선택할 때 #bull이 숨기를 원합니다. – mcnutty

답변

1
그냥 이름 ( demo)에 특정 클래스를 추가 한 경우 그것은 쉬울 것

:

$(function() { 
    var size = '', 
     coat = '', 
     $list = $('#list'), 
     selectType = function() { 
      $list.find('p').hide(); 
      $list.find('p' + size + coat).show(); 
     }; 

    $("#big,#small").click(function() { 
     size = '.' + this.id; 
     $('#big').toggleClass('selected', this.id === "big"); 
     $('#small').toggleClass('selected', this.id === "small"); 
     selectType(); 
    }); 
    $("#short,#long").click(function() { 
     coat = '.' + this.id; 
     $('#short').toggleClass('selected', this.id === "short"); 
     $('#long').toggleClass('selected', this.id === "long"); 
     selectType(); 
    }); 

}); 

:

<p id="pug" class="small short">Pug</p> 
<p id="bull" class="big short">Bulldog</p> 
<p id="pom" class="small long">Pomeranian</p> 
<p id="new" class="big long">Newfoundland</p> 

그런 다음이 코드를 사용할 수 있습니다

Opps, 코드가 제대로 작동하도록 업데이트하고 선택한 단추의 색을 지정합니다.

+0

많은 도움을 주셔서 감사합니다. 위의 코드는 멋지게 보이고 내가 찾던 것을 수행합니다. 궁극적으로 나는 기질, 훈련 가능성 등과 같은 품종 특성을 추가하고 싶습니다. 위의 코드 패턴을 통해 저의 목표를 달성 할 수 있습니까? 아니면 다른 접근 방식을 취해야합니까? – mcnutty

+0

네, 그냥 그 패턴을 따르고 끝에 새 이름을 추가하십시오. '$ list.find ('p '+ size + coat + stat1 + stat2) .show();' – Mottie

+0

첫 번째 클릭 후 버튼 색상이 파란색으로 유지된다는 점을 제외하고는 효과가 있습니다. 값과 함께 색상을 전환하는 방법이 있습니까? – mcnutty

관련 문제