Предположим, у меня есть страница jsp, содержащая выпадающий список. , когда пользователь выбирает элемент и нажимает «Отправить», чтобы отправить страницу JSP самому себе, после этого, страница JSP перезагрузится и элемент будет выбран до того, как будет отменен. Как я могу заставить его не изменять даже после перезагрузки страницы JSP?Как изменить значение в раскрывающемся списке после отправки в JSP?
ответ
Установите атрибут option
, который был принят в форме selected
... результат должен выглядеть следующим образом (при условии, выбранного пользователя «Saab»):
<select>
<option>Volvo</option>
<option selected="selected">Saab</option>
<option>Mercedes</option>
<option>Audi</option>
</select>
Вы должны повторно выбрать Это.
Так что в конечном итоге, как это:
<select name="dropdown">
<%
String selectedItem = request.getParameter("dropdown");
for(String item : values) {
%>
<option <%=item.equals(selectedItem)?selected:""%>><%=item%>
<%
}
%>
Таким образом, каждый раз, когда вы перезагрузите страницу JSP, вы убедитесь, если текущий элемент вы красите тот же она была выбрана пользователем. Если это так, вы добавляете «selected» к опции (в первый раз, когда она ничего не будет соответствовать)
Я немного ржавый в JSP, поэтому, возможно, есть более «элегантный» способ сделать это, но этот «старый стиль» действительно работает.
Надеюсь, это поможет.
Я думаю, что этот метод лучше:
<script type = "text/javascript"/>
<%String selectedItem ;
if(request.getAttribute("dropdown") != null){
selected= request.getAttribute("dropdown");%>
document.getElementById("selectbox").selectedIndex = selectedItem;
<%}%>
</script>
Я думаю, что этот метод будет работать.
Вот что я сказал ... Я не сказал, как это сделать ... это должно сработать. – beggs
Я думаю, что это не работает, как мы можем узнать, какой вариант выбран пользователем? если использовать этот метод, я думаю, что я должен написать такого рода код: <%if(volov)%> <параметр, выбранный = «выбрано»> Volvo <%if(saab)%> ... ... Я думаю, что это не правильный метод. не могли бы вы дать мне образец кода? – MemoryLeak
Это тот же ответ, что и все остальные ... Только с меньшим количеством кода. Элемент 'select' должен быть в форме и иметь идентификатор (он не указан в примере), когда страница POST возвращает JSP идентификатор, а значение выбранного элемента' option' будет передано в форму. Когда вы перебираете элементы для вывода формы, вам нужно проверить, соответствует ли значение каждой опции значению, переданному в POST. – beggs