2011-10-25 2 views
0

문제가 발생했습니다.두 개의 별도 선택 옵션에 따라 div 표시

두 개의 서로 다른 선택 필드가 있습니다. 각각의 색상 옵션은 파란색, 녹색, 검은 색, 노란색입니다. 난 당신과 같이 할 selctions에 따라 다른 div를 보여주고 싶은 :

선택 노란색 + 검은 색을 보여줍니다 DIV # 1 선택 블랙 + 노란색 쇼 DIV # 2 등 등

내가 할 수있는 방법 이게 현명한 방법이야?

가 업데이트 : 여기

내가 지금 가지고 코드입니다 (그것은 내가 하나 개의 선택 요소에 따라하지만 원하는 것을) : 다음

<script> 
$(document).ready(function() { 
    $(function() { 
    $('#thecolor').change(function(){ 
     $('#box_image, #box_image2, #box_image3, #box_image4').hide(); 
     $('.' + $(this).val()).show(); 
    }); 
    }); 
}); 

<select id="thecolor"> 
    <option>Choose outer color</option> 
    <option value="blue">Blue</option> 
    <option value="red">Red</option> 
    <option value="dark_green">Green</option> 
    <option value="purple">Purple</option> 
</select> 

<div id="box_image" style="display:none;" class="blue"> 
    <img src="images/wine-bottle-box_blue.png"/> 
</div> 
+0

사용자가 선택한 하나의 옵션을 사용하십니까 또는 여러 선택? 관련 코드 스 니펫을 게시하시기 바랍니다. – mamoo

+0

모든 가능성을 위해 이미 모든 div를 만들었습니까? 아니면 선택에서 – WooDzu

+0

som 코드를 추가했는지에 따라 다릅니다. – Ismailp

답변

2

같은 2 개 선택 목록의 값을 기준으로 요소를 숨 깁니다. 동일한 click 핸들러까지 두 선택 목록을 모두 후크하고 조건을 확인하십시오.

var $s1 = $('#select1').change(change); 
var $s2 = $('#select2').change(change); 

function change(){ 
    $('#div1').toggle($s1.val() == 'Yellow' && $s2.val() == 'Black') 
    $('#div2').toggle($s1.val() == 'Black' && $s2.val() == 'Yellow') 
}; 

라이브 예 : http://jsfiddle.net/6AUn6/

+0

좋아요! 내 솔루션으로 완벽하게 일했습니다! 고맙습니다! – Ismailp

1

귀하의 div의 이름을 옵션 조합으로 지정하는 것과 관련하여 yellow+black을 선택하면 div_yellow_black과 같은 ID를 가진 div가 표시됩니다. JQuery와에

/보여주기 위해 당신이 jQuery를에 toggle 기능을 사용할 수 있습니다 이렇게하려면

var var1 = $("#option1").val(); 
var var2 = $("#option2").val(); 
$("#div_" + var1 + "_" + var2).show(); 
+0

또는 선택의 이름은 노란색, 검정색 등이 될 수 있습니다. –

+0

제 생각에는 OP가 4 x 4 총 16 조합이 있다는 것을 의미한다고 생각합니다 ... – Quincy

관련 문제