Ваш div
с id="1"
содержит еще один div
, который скрыт общим вызовом $('div').hide()
- и больше никогда не показывается.
Кроме того, нет необходимости вкладывать несколько вызовов $(document).ready()
.
Попробуйте:
$(document).ready(function(){
$("#dd").change(function(){
var selected= $("#dd option:selected").data('size');
$('div').hide();
$div_to_show = $('#'+ selected); // cache element for better performance
$div_to_show.show();
$('div', $div_to_show).show(); // show divs nested below current div as well
});
$('div').hide();
});
Редактировать: Кроме того, цитата @bobince:
Также обратите внимание, что чисто числовые идентификаторынедопустимо в используемом вами типе HTML4 (и, как правило, его следует избегать по причинам совместимости)
Вы должны обязательно это прослушать.