2010-11-18 79 views
2

我有兩個簡單的函數來追加和刪除列表中的選擇元素。 要添加元素到選擇列表我使用下面的方法。jquery IE 7/8 select append issue

問題是這是在Firefox中工作,值被附加到列表框。雖然在IE中不可見。 我可以看到元素被添加到列表中,但它們不可見。 任何想法?

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); 

} 

回答

1

而不是

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

嘗試使用

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

可能明智地使用.val(data)設置該值,因爲看起來像鍵入的數據,並且撇號或未轉義的值將導致問題。 – Orbling 2010-11-18 15:10:57

3

你可以使用添加選項來選擇列表,在自1997年以來發布的所有主流瀏覽器的經過時間考驗的方法:

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