OK Erwin. I took your code and modified it so that I could use it. I've only done it for two selects so far (I dout that adding a third select in this particular case would be very much different). Anyway, I think I'm almost there. The second select does updated based on what the 1st one has; howeve, my only problem is that the second select only shows the first option, not the entire list. Since I'm not very good at java scripting, I was wondering if you could take a look at the code and let me know what I'm doing wrong. I do want to note that when the page first loads up the second list does populate completely, it is only after I make a change in the second select that I get only one option.
Here it is:
<SCRIPT Language="JavaScript">
function create_list () {
var INV_ARRAY = new Array(3);
<cfoutput>
INV_ARRAY[0] = new Array(#getInterTitles.RecordCount#);
INV_ARRAY[1] = new Array(#getInterTitles.RecordCount#);
INV_ARRAY[2] = new Array(#getInterTitles.RecordCount#);
</cfoutput>
// fill array with all options.
<cfoutput query="getInterTitles" group="GrpID">
INV_ARRAY[0][#CurrentRow#] = "#PosID#"; //value
INV_ARRAY[1][#CurrentRow#] = "#PosDesc#"; //text
INV_ARRAY[2][#CurrentRow#] = "#GrpID#"; //spec_id
</cfoutput>
<cfoutput>
// first, remove all what is in the listbox
while (myform.Two.options.length!=0)
myform.Two.options.remove(0);
// now, fill it !
for (var m=0; m < #getInterTitles.RecordCount#; m++) {
if (INV_ARRAY[2][m] == document.myform.One.value){
var oOption = document.createElement("OPTION"

;
oOption.text=INV_ARRAY[1][m];
oOption.value=INV_ARRAY[0][m];
myform.Two.options.add(oOption)
}</cfoutput>
}
return true;
}
</script>
And here are my selects:
<FORM METHOD="POST" ACTION="look2.cfm" NAME="myform">
<SELECT NAME="One"
OnChange="create_list(this.form)"
WIDTH="250">
<CFOUTPUT QUERY="getInterTitles" GROUP="GrpID">
<OPTION VALUE = "#GrpID#"
<CFIF GrpID EQ Default1>SELECTED</CFIF>>
#GroupDesc#
</OPTION>
</CFOUTPUT>
</SELECT>
Look
<SELECT NAME="Two" WIDTH="250" >
<CFOUTPUT QUERY="getInterTitles" GROUP="PosID">
<OPTION VALUE = "#PosID#">#PosDesc#</OPTION>
</CFOUTPUT>
</select>
</FORM>
Lastly, I'm assuming I'm handling the default correctly (within the select statement) if you think it is better to do it within the script, if you could show me how, that would be great.
Thanks again.