#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