Amit
Amit

Reputation: 21

jquery IE 7/8 select append issue

I have two simple functions to append and remove select elements from the list. To add elements to the select list i use following method.

The problem is this is working in Firefox and the values are appended to the listbox. While the same is not visible in IE. I can see the elements are appended to list but they are not visible. Any ideas ?

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

}

Upvotes: 2

Views: 1177

Answers (2)

Tim Down
Tim Down

Reputation: 324577

You could use the time-honoured method of adding an option to a select list that works in all major browsers released since 1997:

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

Upvotes: 3

Ben
Ben

Reputation: 62394

Instead of

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

Try using

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

Upvotes: 1

Related Questions