Matt: Multiple Select Field - OnChange InnerHTML

Hi,

ich habe in einem Formular ein SELECT Feld (Mehrauswahl möglich). In einem SPAN Element auf derselben Page soll bei OnChange (des SELECT Feldes) die ausgewählten bzw. marktieren values stehen.

Also beim Select Feld die OnChange Anweisung und die Javascript Anweisung habe ich mir so gedacht.

function update_issues(id, obj, priceforone){
        for(var x=0, len=obj.options.length; x < len; x++)
                if(obj.options[x].selected)
                        document.getElementById(id).innerHTML += obj.options[x].value
}

Wenn ich jetzt was auswähle, erscheint das im Span, wechsle in die Auswahl und wähle noch 2 hinzu, dann steht das was ich ganz am Anfang ausgewählt habe und nochmal das ganze was ich geändert hatte.

Kann mir da jemand helfen? Ich denke das ich im JSCRIPT etwas übersehe.

  1. Also beim Select Feld die OnChange Anweisung und die Javascript Anweisung habe ich mir so gedacht.

    function update_issues(id, obj, priceforone){
            for(var x=0, len=obj.options.length; x < len; x++)
                    if(obj.options[x].selected)
                            document.getElementById(id).innerHTML += obj.options[x].value
    }

    Wenn ich jetzt was auswähle, erscheint das im Span, wechsle in die Auswahl und wähle noch 2 hinzu, dann steht das was ich ganz am Anfang ausgewählt habe und nochmal das ganze was ich geändert hatte.

    Einfach den Inhalt vorher löschen. Und besser wäre es den neuen Text in einer Variabel zwischen zu speichern und dann einzufügen, das geht schneller.

    function update_issues(id, obj, priceforone){  
         var text = "";  
         for(var x=0, len=obj.options.length; x < len; x++)  
                     if(obj.options[x].selected) text += obj.options[x].value;  
      
    document.getElementById(id).innerHTML = text  
    }  
    
    

    Kann mir da jemand helfen? Ich denke das ich im JSCRIPT etwas übersehe.

    In welchem JScript? Das dürfte Javascript sein.

    Struppi.

    --
    Javascript ist toll (Perl auch!)