Прежде всего, было бы более оптимально, чтобы "foo_panels" был идентификатором. Тогда вы захотите, чтобы у вашей панели li был класс наподобие 'panel':
<li class"panel">
<div class="foo_1">
<h1>First foo's information</h1>
<span>Foo name: <input type="text" size="20" /></span>
</div>
</li>
Затем вы можете скрыть / показать количество панелей, используя .slice ()
1008 *
$(".panel").hide();
var panels = $(".panel", "#foo_panels"); //set panels group
$('#qty_of_foo').change( function() {
$(panels).hide(); //hide any previously shown panels
$(panels).slice(0, parseInt($(this).val())).show(); //show the slice
});
Кроме того, вы захотите избавиться от этого осиротевшего <li>
сразу после <div class="foo_panels">
. Вы также не можете иметь <div>
в <ul>
, который не обернут в <li>
.
ОБНОВЛЕНИЕ: Я создал jsFiddle, который демонстрирует код (и в процессе обнаружил ошибку в том, что я написал, которую я исправил.