2011-05-25 99 views
0

我有5个项目的下拉列表。在IE中不显示下拉列表

我想将选定的项目发送到下一个jsp页面。

JavaScript代码:

var display= document.getElementById('displayId'); 
var j; 
var count =0; 
for(j=0;j< display.options.length;j++){ 
    if(display.options[j].selected){ 
     displaySelected = display.options[j].value; 
     count++; 
    } 
} 
alert(displaySelected); 

HTML代码:

<SELECT NAME="displayId" id="displayId" style="width:300px;"> 
    <option>Host</option> 
    <option>Host And Response Time</option> 
    <option>Host And User Count</option> 
    <option>User Count And Reponse Time</option> 
    <option>Host,UserCount And Response Time</option> 
</SELECT> 

这个工作在消防狐狸但不是在IE浏览器...任何人都可以发现其中的错误?

+2

除了具体问题,你为什么不把它放在一个'<形式行动=“下一个。 jsp“>'并通过'$ {param.displayId}'获得'next.jsp'中的值? – BalusC 2011-05-25 11:36:14

+0

也许好吧例如项目,但这是邪恶的,按照@BalusC建议 – 2011-05-25 11:38:10

+1

为了提高你获得更好的帮助的机会,请接受解决你的其他问题的答案。您有6个问题已经有待解答。 – 2011-05-25 11:38:27

回答

5

你需要阅读选项text因为你没有任何价值:

displaySelected = display.options[j].text; 

一些浏览器可能设置的值是文本时,它是空的,IE是不在其中。

1

为您的选项标签赋予值。

Like <option value="Host">Host</option> 而不是<option>Host</option>

而且无需找使用循环选择的值,你可以随时使用

document.getElementById('displayId').value