Well you could always put an "onchange" event handler in your first dropdown menu that would submit the page as soon as you make a selection. Then your PHP could generate the appropriate second menu and/or default text box value in response to the submission. It would require a page reload though.
Alternately, if you can get all the possible permutations of the second menu/textbox when the page is initially loaded, you could create the second menu using a named DIV tag and the javascript "document.getElementByID("IDname").innerHTML" routine. Something like this (with apologies for the rusty javascript):
<script language="javascript" type="text/javascript">
function setSecondMenu(choice) {
if (choice == "1") document.getElementByID("secondmenu").innerHTML = "<select size=\"1\" name=\"menu2\"><option value=\"1\">Second menu choice 1<\/option><option value=\"2\">Second menu choice 2<\/option><\/select>";
else if (choice == "2") document.getElementByID("secondmenu").innerHTML = "<select size=\"1\" name=\"menu2\"><option value=\"3\">Second menu choice 3<\/option><option value=\"4\">Second menu choice 4<\/option><\/select>";
}
</script>
<select size="1" name="menu1" onchange="setSecondMenu(this.value)">
<option value="1">Menu choice 1</option>
<option value="2">Menu choice 2</option>
</select>
<div ID="secondmenu"></div>
The actual values and text of the menu choices could be PHP variables instead, of course.
To write the value of the first menu choice to a text field, you could either trigger two functions with the "onchange" (second function would set innerHTML of a second DIV tag to the desired text) - or - add a second "then" to each "if" statement in the original function to do the same thing.
The drawback to javascript is of course the browser inconsistency issue. The above should work with most modern browsers, but getElementByID is sketchy on the older ones.
Let me know if this needs clarification. I wouldn't be surprised if it does!
PS - Hey Marcus - long time no see! Still playing music? Happy new year to ya!