2010-11-18 3 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

3

Вы можете использовать метод добавления опции в список выбора, который работает во всех основных браузерах, выпущенных с 1997 освященным временем :

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