Ich bin etwas perplex...
Habe hier eine Funktion, die mir den HTML-Code für eine Combo-Box zurechtschnipselt. Gibt da ca. 10 Parameter. Nun ja, klappt super, nur werden die Mehrfachauswahl-Combos NUR beim Firefox fehlinterpretiert. Sie erscheinen als Einzeiler ohne Pfeile (schaut aus wie ein normales Input)
Das Verrückte: Wenn ich in den generierten HTML-Source schau und diesen rauskopier und schlicht in eine .html-Datei schreibe und diese wiederrum im Firefox öffne, klappt alles prima. Verrückt, oder?
Hier die FUnktion
function get_dropdown($name_select,$array_key_to_val,$preselect='',$indent=5,$attributes='',$isSelfSubmit=false,$trim_length=-1,$multipleSelect=-1)
{
$multi_sel = ($multipleSelect >0 ? ' size="'.$multipleSelect.'" multiple="multiple"' : '');
$dropdown ='';
$dropdown.= "<select name='$name_select'$attributes$multi_sel onKeyPress='simulate_enter(this.form,event)'>";
$dropdown.= ($isSelfSubmit ? "<option value='-1'".($preselect==-1 ? ' selected' : '').">...</option>" : '');
foreach ($array_key_to_val as $key => $val)
{
$dropdown.= "<option value='".$key."'".($key==$preselect ? ' selected' : '').">".trim_str($trim_length,$val)."</option>";
}
$dropdown.= "</select>\n";
return $dropdown;
}
Die HTML-Ausgabe (konkret) sieht so aus:
<select name="departments_unowned[]" onfocus='this.style.border="1px solid #ccc";' onblur='this.style.border="1px solid #737678";' size="5" multiple="multiple" onkeypress="simulate_enter(this.form,event)">
<option value="5">Buchhaltung</option>
<option value="1">Entwicklung</option>
<option value="2">Geschäftsleitung</option>
<option value="4">Marketing</option>
<option value="3">Vertrieb</option>
</select>