2011-02-25 4 views
1

jQuery에 대한 많은 주제를 읽고 div를 보여 주지만 구체적인 질문에 대한 답을 아직 찾지 못했습니다. 여기에 그 일이 있습니다 :jQuery show div> x

내 값에 따라 div A 또는 div B 중 하나를 표시하고 싶습니다. 선택 필드는 20 개 국가로 채워져 있으며, 19 개는 동일한 div (B)를 얻고 하나는 다른 div (A). 하나의 div를 얻는 것은 "value = 1"을 가지므로 "if select value> 1, div B를 보여줍니다"원칙을 적용하려고 생각했습니다. 그러나, 나는 그것이 작동하도록 관리 할 수 ​​없습니다. 내 다른 select-show-div 메커니즘은 정확한 값 (아래에 게시했습니다)을 기반으로했지만,이 if-else는 나를 미쳐 버리게 만듭니다.

도움이 될 것입니다.

내 이전 값 = 정확한 코드 :

$('.div').hide(); 
$('#country').change(function() { 
    $('.div').hide(); 
    $('#country' + $(this).val()).show(); 
    }); 
}); 

그리고 해당 HTML :

<div id="country1" class="div"> 
BLABLA 
</div> 

<div id="country2" class="div"> 
BLABLA 
</div> 

etc 

답변

2

는 이해가 안 돼요. 가능한 솔루션은 다음과 같을 수 있습니다

$('select').change(function() { 
    var countryVal = $("select option:selected").val(); //get the value of the selected 
    $("#country1, #country2").hide(); //hide country divs, of previous selection 
    if(countryVal == 1) {$("#country1").show();} else {$("#country2").show()}; //if countryVal is 1 (the diffrent value) show the div #country1 else show the div #country2 
}); 

업데이트 데모 :http://jsfiddle.net/YnYxD/1

본질적으로 내 문제를 해결 코드 티리스의
+0

위대한 조각! 나는 select를 가지고 있고, div를 트리거한다. 나는 그것을 사용하는 방법을 보여주기 위해 바이올린을 업데이트했지만 코드는 일반 awesomeness입니다. [업데이트 된 jsfiddle] (http://jsfiddle.net/YnYxD/4/) –

+0

@Jaap 당신은 오신 것을 환영합니다 :) – Sotiris

1

내가 다른 모든 국가가 값> 1, 그래서 당신이 할 수없는, 제대로 이해하는 경우 값을 사용하여 ID를 생성하십시오. id는 값이 1이면 1이고 그렇지 않으면 2입니다.

보십시오 : 당신이 선택 메뉴 또는 div가있는 경우

$('#country').change(function() { 
    $('.div').hide(); 
    var id = $(this).val() == 1 ? 1 : 2; 
    $('#country' + id).show(); 
    }); 
});