jquery IE 7/8选择附加问题

时间:2010-11-18 14:57:40

标签: javascript jquery

我有两个简单的函数来追加和删除列表中的select元素。 要将元素添加到选择列表,请使用以下方法。

问题是这在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);

}

2 个答案:

答案 0 :(得分:3)

您可以使用历史悠久的方法将选项添加到自1997年以来发布的所有主要浏览器中的选择列表中:

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

答案 1 :(得分:1)

而不是

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

尝试使用

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