Dr.Colossos: options in selectfeld einfügen - FireFox Bug

Beitrag lesen

Hi,

gut, ich bin doch (noch) nicht wahnsinnig :)

Ich habe inzwischen work-arounds.

Man darf anscheinend die selektierte Option nicht löschen!

Ich vergleiche nun einfach ob eine neueinzufügende Option bereits besteht und ob diese selektiert ist. Wenn dem so ist, behalte ich einen Verweis auf diese Option, und füge statt ihr kein neues Element ein, sondern den Verweis (mit appendChild).

Da appendChild in diesem Fall einen Verweis auf eine bereits existierende DOM-Node bekommt, wird diese nur verschoben im Baum -> Sortierung stimmt, und korrekte Optionen sind selektiert.

Nun muss man nur noch erreichen, dass auch diese Option in der Box dargestellt wird.

Durch ...

[...]
if(alternative1)
{
    field.size = 2;
    field.size = 1;
}
else if(alternative2)
{
    field.multiple = 'multiple';
    field.multiple = '';
}
[...]

... wird jeweils ein repaint() "getriggered", und die korrekte Option erscheint.

Aber leider führt der repaint()-Aufruf dazu, dass wenn das Feld angeklickt wird, die Auswahlliste sofort wieder geschlossen wird. Folglich braucht man zwei Klicks ... ärgerlich.

So, und wer meint jez immernoch dass das trivial ist ..?

Wenn ich mich dazu durchgerungen habe das tatsächlich sauber zu codieren (wenn man hier von sauber reden kann), dann poste ich das auch hier.

Danke für die Hilfe ... wem was besseres einfällt ... würd mich freuen dass zu sehen!