при изменении выбранного значения отобразить определенное содержимое div

Вот код HTML

<code><select id="language">
    <option value="en">english</option>
    <option value="fr">french</option>
    <option value="gr">german</option>
</select>






<div id="related_en_content">
    english text
</div>

<div id="related_fr_content">
    french text
</div>

<div id="related_gr_content">
    german text
</div>
</code>

Каждый div, связанный с одним из вариантов в select, я хочу заменитьdiv при изменении опции выбора.

Вот что я пробовал:

<code>$(document).ready(
    function() {
        $("#language").change(
            function() {
                $("#" + this.value).show().siblings().hide();
            });
        $("#language").change();
    }
</code>

Ответы на вопрос(4)

$('[id^="related"]').not(':first').hide();

$("#language").on('change', function() {
    $("#related_"+this.value+"_content").show().siblings('[id^="related"]').hide();
});

FIDDLE

<select id="language" onchange:"javascript:handle_language(this)">
    <option value="en">english</option>
    <option value="fr">french</option>
    <option value="gr">german</option>
</select>


<script>
  function handle_language(what){
       document.getElementById('related_en_content').style.visibility='hidden';
       document.getElementById('related_fr_content').style.visibility='hidden';
       document.getElementById('related_gr_content').style.visibility='hidden';
     if(what.value=="en"){
       document.getElementById('related_en_content').style.visibility='visible';
     }
     if(what.value=="fr"){
       document.getElementById('related_fr_content').style.visibility='visible';
     }
     if(what.value=="gr"){
       document.getElementById('related_gr_content').style.visibility='visible';
     }
  }
</script>



<div id="related_en_content">
    english text
</div>

<div id="related_fr_content">
    french text
</div>

<div id="related_gr_content">
    german text
</div>
Решение Вопроса
<select id="language">
    <option value="en">english</option>
    <option value="fr">french</option>
    <option value="gr">german</option>
</select>


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>


<div>
<div id="related_en_content">
    english text
</div>

<div id="related_fr_content">
    french text
</div>

<div id="related_gr_content">
    german text
</div>
</div>
<script>
$("#language").on("change", function() {
    id = "related_" + $(this).val() + "_content";
    $("#" + id).show().siblings().hide()
})
</script>
 ahmedsaber11113 апр. 2012 г., 00:47
@ Джонни при загрузке страницы, как я могу скрыть все и показать только выбранный
 13 апр. 2012 г., 00:55
Например, скрыть французский div:<div style="display:none" id="related_fr_content> вместо<div id="related_fr_content>
 13 апр. 2012 г., 00:09
+1 - за использование & quot; на & quot; Однако, чтобы быть правильным, это должно бытьvar id =
$(document).ready(function(){  
    $("#language").change(function(e){ 
        $('[id^="related"]')
        .not($('#related_'+$(this).val()+'_content'))
        .hide();
        $('#related_'+$(this).val()+'_content').show()
    }); 
});​

Example.

Ваш ответ на вопрос