2010-11-18 9 views
2

Ich habe zwei einfache Funktionen zum Anhängen und Entfernen von ausgewählten Elementen aus der Liste. Um Elemente zur Auswahlliste hinzuzufügen, verwende ich folgende Methode.jquery IE 7/8 auswählen anhängen ausgabe

Das Problem ist, dass dies in Firefox funktioniert und die Werte an die Listbox angehängt werden. Während das gleiche ist nicht im IE sichtbar. Ich kann sehen, dass die Elemente zur Liste hinzugefügt werden, aber sie sind nicht sichtbar. Irgendwelche Ideen?

function moveTrans() 
{ 
var length= $("#btsexpresults").length; 

if($("#transvendor").val() == "-1" || $("#trans").val() == "-1" || $("#transconfto").val().length==0 || $("#transcap").val().length==0 || $("#transcovdeep").val().length ==0 || $("#transcovwide").val().length ==0 || $("#transquant").val().length ==0) 
{ 
alert("Please enter all input fields"); 
return false; 
} 

var data= $("#transvendor").val() + " : "+ $("#trans").val() + " : "+ $("#transconfto").val() + " : "+ $("#transcap").val() + " : "+ $("#transcovdeep").val() + " : "+ $("#transcovwide").val() +" : "+ $("#transquant").val()  ; 
var no = new Option(); 
no.value = data; 
no.text = data; 
$("#transresults").append(no); 

} 

Antwort

1

Statt

var no = new Option(); 
no.value = data; 
no.text = data; 
$("#transresults").append(no); 

Versuchen

$("#transresults").append("<option value='"+data+"'>"+data+"</option>"); 
+1

Könnte klug sein, .val (Daten) zu verwenden um den Wert festzulegen, da er wie typisierte Daten aussieht und ein Apostroph oder ein Unescaped-Wert Probleme verursacht. – Orbling

3

mit Sie können die altehrwürdigen Verfahren der Zugabe eine Option zu einer Auswahlliste verwenden, das seit 1997 in allen gängigen Browsern freigegeben funktioniert :

var select = document.getElementById("transresults"); 
var opt = new Option("Option text", "optionValue"); 
select.options[select.options.length] = opt;