Ich habe eine Liste des Typs A, in der jedes Element eine andere Liste des Typs B enthält. Ich möchte ein Formular erstellen, in dem ein Benutzer einen Wert aus der Dropdown-Liste mit Werten von A auswählt, ein weiteres Dropdown zum Auffüllen Werte, die auf der Liste des ausgewählten Elements von Typ B basieren. Ich bin neu bei jQuery, aber ich weiß, dass es bequem ist, dies mit jQuery anstelle von reinem jsp zu tun. Bitte geben Sie mir eine grobe Übersicht über die Schritte, die ich befolgen muss, um dies zu erreichen.Wie dynamische Dropdown-Listen mit jQuery und Jsp generieren?
Antwort
JSP ist nur eine Server-Side-View-Technologie. Es konkurriert nicht mit jQuery. Sie können JSP dafür perfekt weiterverwenden. Aber ich verstehe, dass Sie eine asynchrone Anfrage mit ajaxischen Techniken statt einer synchronen Anfrage auslösen wollen. Das ist auch in JSP kein Problem.
Zuerst müssen wir zwei Dropdown-Listen in JSP haben:
<select id="dropdown1">
<c:forEach items="#{bean.items}" var="item">
<option value="#{item.value}">#{item.label}</option>
</c:forEach>
</select>
<select id="dropdown2">
<option>Please select dropdown1</option>
</select>
Dann benötigen wir einige jQuery zum change
Ereignisse befestigen, so dass es den zweiten Drop-Down auf dem Wert des ersten Drop-Down-basierten füllt. Folgendes an die <script>
in JSP oder ein externes Skript hinzufügen, die durch <script src>
in JSP geladen wird:
$(document).ready(function() {
$('#dropdown1').change(function() {
var selectedValue = $(this).val();
var servletUrl = 'dropdown2options?value=' + selectedValue;
$.getJSON(servletUrl, function(options) {
var dropdown2 = $('#dropdown2');
$('>option', dropdown2).remove(); // Clean old options first.
if (options) {
$.each(opts, function(key, value) {
dropdown2.append($('<option/>').val(key).text(value));
});
} else {
dropdown2.append($('<option/>').text("Please select dropdown1"));
}
});
});
});
Im Servlet hinter dem url-pattern
von /dropdown2options
Rückkehr nur die Karte von Optionen als JSON. Sie können dazu Gson verwenden.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String selectedValue = request.getParameter("value");
Map<String, String> options = optionDAO.find(selectedValue);
String json = new Gson().toJson(options);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
Das ist im Grunde alles.
Ich beantwortete eine ähnliche Frage über chained selectors here ... Ich weiß nicht über Jsp, aber diese jQuery-Version sollte Ihnen eine Idee geben.
- 1. jsp dynamische gui
- 2. JQuery-Kombinationsfeld und JSP
- 3. Dynamische Modale mit Ionic generieren
- 4. Dynamische docx Dokumente generieren
- 5. Dynamische R-Markierblöcke generieren
- 6. generieren Dynamische Css
- 7. JSP EL: dynamische Erstellung von Eigenschaftsname
- 8. Dynamische Kontextmenüs mit JQuery
- 9. Dashboard mit HTML und Jquery, die Grafiken generieren können
- 10. Jquery Vollkalender und dynamische Ereignisfarben
- 11. JQuery dynamische ID-Steuerelementeigenschaft
- 12. Dynamische Kacheln für CATiledLayer generieren
- 13. Dynamische Attribute in einem JSP-Tag
- 14. Generieren von Formularfeldern mit jquery
- 15. Dynamische Dropdown-Filteroptionen mit jquery
- 16. Dynamische AJAX-Versprechungskette mit jQuery
- 17. Gebäude dynamische Formteile mit jQuery
- 18. Dynamische Attribute zwischen JSP-Tags übergeben?
- 19. Spring web flow dynamische JSP/Form Ausgaben
- 20. Zend Framework MVC-Modell und dynamische Berichte generieren
- 21. als dynamische Texte mit jquery validieren?
- 22. jQuery DataTables serverseitige Verarbeitung mit JSP und JAVA
- 23. jquery fitvids() Targeting dynamische ID
- 24. Dynamische Grafik von MySQL-Daten generieren
- 25. Wie mache ich dynamische Attribute in JSP-Tag-Dateien?
- 26. Dynamische Spaltenwerte in Oracle SQL generieren
- 27. jQuery dynamische Eingabefeld Fokus
- 28. Mit beiden Thymeleaf und JSP
- 29. JQuery dynamische Elementselektoreinrichtung
- 30. dynamische Tabelle jquery