I don't know about your specific question, but you can just print out the javascript. This is pretty long, but this is how I just did it:
// This is the part where we set up the lists:
<?
begin pop-up select list building
$forms=array(1,2,3,4);
if ($festival=='state') {
$level = 0;
} else {
$level = $msboa_district;
}
get distinct dates for first pop up selects: $unique_dates[]
$unique_dates=array();
$sql="select distinct section_date from bo_section where district_id=".$level;
$result=mysql_query($sql, $sql_link);
while ($row=mysql_fetch_array($result)) {
$unique_dates[]=$row['section_date'];
}
reset($unique_dates);
build array of sites by date
refer to sites as such: $sites[$unique_dates[$i]][$j]["name"] (or ["id"])
$sites=array();
while (list($key, $val) = each($unique_dates)) {
$sql="Select bo_site.name as name, bo_section.section_id as id from bo_section left join bo_site on
bo_section.site_id = bo_site.site_id where bo_section.section_date = '".$val."' and bo_section.district_id=".$level;
$site_result=mysql_query($sql, $sql_link);
while ($row=mysql_fetch_array($site_result, MYSQL_ASSOC)) {
$sites[$val][]=array("name" => $row['name'], "id" => $row['id']);
}
}
reset($unique_dates);
reset($sites);
END pop-up select list building
print out lists
for ($i = 1; $i <= 4; $i++) {
$form_val=$i;
print ("\n"."var list_site_pref".$form_val." = new DynamicOptionList(\"site_pref".$form_val."\", \"date_pref".$form_val."\");\n");
$site_array=array();
$site=array();
while (list($key1, $val) = each($unique_dates)) {
while (list($key2, $site_array) = each($sites)) {
Print ("list_site_pref".$form_val.".addOptions(\"$key2\"");
while (list($key3, $site) = each($site_array)) {
print (",\"$site[name]\",\"$site[id]\"");
}
print (");\n");
}
}
reset($unique_dates);
reset($sites);
while (list($key, $val) = each($unique_dates)) {
$default_val=$sites[$val][0][name];
print ("list_site_pref".$form_val.".setDefaultOption(\"$val\",\"$default_val\");\n");
}
reset($unique_dates);
reset($sites);
reset($forms);
}
END print-out
print ("\n"."function init() {\n");
print ("\t"."var theform = document.reg;\n");
while (list($form_key, $form_val) = each($forms)) {
print ("\t"."list_site_pref".$form_val.".init(theform);\n");
}
print ("\t}\n");