Выпадающий список не отображается в IE

#javascript #drop-down-menu

#javascript #выпадающее меню

Вопрос:

У меня есть выпадающий список из 5 элементов.

Я хочу отправить выбранный элемент на следующую страницу 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>
  

Это работает в Fire fox, но не в IE … Кто-нибудь может найти ошибку?

Комментарии:

1. Помимо конкретной проблемы, почему бы вам просто не поместить это в <form action="next.jsp"> и получить значение через next.jsp ${param.displayId} ?

2. Может быть, хорошо для примера project, но это зло, следуйте предложению @BalusC

3. Чтобы повысить ваши шансы получить лучшую помощь, пожалуйста, примите ответы, которые разрешили другие ваши вопросы. У вас уже есть 6 вопросов с ожидающими ответами.

Ответ №1:

Вам нужно прочитать параметр text , поскольку у вас нет никакого значения:

 displaySelected =  display.options[j].text;
  

Некоторые браузеры, вероятно, устанавливают значение в качестве текста, когда оно пустое, IE не входит в их число.

Ответ №2:

Присваивайте значения вашим тегам параметров.

Нравится, <option value="Host">Host</option> а не <option>Host</option> .

И нет необходимости находить выбранное значение с помощью цикла, вы всегда можете использовать

  document.getElementById('displayId').value