Hogy rossz példát ne mutassunk, az például egy elég jó cél, így mindenképpen kerülném az invalid, hibás HTML kódot, és az inline JS-t, még akkor is ha fut. (???! Tele is van a web trágya szemét weboldalhegyekkel, amikben a HTML és a JS
"fut" 
Pont ezen kéne változtatni a kezdők jó irányba terelgetésével, nem?)
Aztán az is lehet cél, hogy ráébresszük a kérdezőt, hogy az egy dolog, hogy JS-ből akarja megváltoztatni a második SELECT tartalmát, de arra gondolt vajon, hogy mi van akkor, ha az oldalára látogatónak nincs engedélyezve a JS? Google:
graceful degradation javascript vagy
progressive enhancement! 2009-et írunk és már azt sem sokáig, úgyhogy hajrá!
Én mondjuk így csinálnám. Ez sem tökéletes, és lehetne reszelni még hosszan, de most erre volt időm. Az alap HTML tartalmazza az összes SELECT-et. Ha nincs JS, megjelenik az összes kérdés, a LABEL-ek útbaigazítják az űrlapot kitöltőt. Ha van JS, akkor a megjelölt LABEL-eket és az azokhoz tartozó SELECT-eket elrejtjük, majd attól függően, hogy emberünk mit választ az első kérdésnél, a megfelelő második kérdést látja. Bónuszként meg lehet csinálni, hogy a LABEL-jét is átalakítjuk, hogy immár ne legyen benne a
"Ha az előző kérdésnél bla-bla-bla...", én most ezzel nem foglalkoztam.
pelda1.htmlKÓD
<!DOCTYPE html>
<html>
<title>SELECT PÉLDA</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
<script type="text/javascript" src="pelda1.js"></script>
<style type="text/css">
label, select { display: block; margin: 1em 0; }
.hidden { display: none; }
.visible { display: block; }
</style>
</html>
<body>
<form name="fForm" action="" method="get">
<label for="q1">Szerinted a bla-bla-bla <em>Aaaaa</em> vagy <em>Bbbb</em> vagy <em>Cccccccc</em>?</label>
<select name="q1" size="3">
<option value="qA">Aaaaa</option>
<option value="qB">Bbbb</option>
<option value="qC">Cccccccc</option>
</select>
<label for="qA" class="hide_me">Ha az előző kérdésnél az <strong>Aaaaa</strong>-t választottad, bla-bla-bla...?</label>
<select name="qA" id="qA" size="2">
<option value="a1">Aaaa1</option>
<option value="a2">Aaaaaa2</option>
</select>
<label for="qB" class="hide_me">Ha az előző kérdésnél a <strong>Bbbb</strong>-t választottad, bla-bla-bla...?</label>
<select name="qA" id="qB" size="3">
<option value="b1">Bbbbb1</option>
<option value="b2">Bbbbbbb2</option>
<option value="b3">B3</option>
</select>
<label for="qC" class="hide_me">Ha az előző kérdésnél a <strong>Cccccccc</strong>-t választottad, bla-bla-bla...?</label>
<select name="qC" id="qC" size="4">
<option value="c1">Cccccc1</option>
<option value="c2">Ccccc2</option>
<option value="c3">Ccc3</option>
<option value="c4">Cccccc4</option>
</select>
<button type="submit" name="gomb" value="akarmi">Elküld</button>
</form>
</body>
</html>
pelda1.jsKÓD
window.onload = init;
function init()
{
var i, n, id, old_id;
var lids = [];
var labels = document.getElementsByTagName("label");
for (i=0, n=labels.length; i<n; i++)
{
if (labels[i].className == 'hide_me')
{
id=labels[i].getAttribute('for');
document.getElementById(id).className="hidden";
labels[i].className = 'hidden';
lids[id] = i;
}
}
if (document.fForm && document.fForm.q1 && document.fForm.qA && document.fForm.qB && document.fForm.qC)
{
document.fForm.q1.selectedIndex = -1;
old_id = '';
document.fForm.q1.onchange = function()
{
id = document.fForm.q1.value;
if (id != old_id)
{
if (old_id != '')
{
document.getElementById(old_id).className = "hidden";
labels[lids[old_id]].className = "hidden";
}
document.getElementById(id).className = "visible";
labels[lids[id]].className = "visible";
old_id = id;
}
};
}
}
Általában fel szoktam kommentezni a forrást, ez most elmaradt, elnézést érte, mint ahogy azért is, hogy nem strukturáltam szépre a HTML kódot (nem tologattam beljebb a form elemeket).
Ha nem értetek valamit, kérdezzetek!