In diesem Artikel wird der spezifische Code von JS + AJAX zur Realisierung der Verknüpfung von Dropdown-Listen für Provinzen, Städte und Bezirke zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt Das Wirkungsdiagramm ist wie folgt, die in der Datenbank gespeicherten Daten werden extrahiert. Implementierung der Front-End-JSP-Seite <div Klasse="info"> <div class="title">Firmenadresse:</div> <div Klasse="Wert"> <Feldsatz deaktiviert> <select id="provinceSelect" class="form-control" data-val="${factoryCenterInfo.province}" onchange="provinceChange()"> <c:forEach items="${factoryPlace.provinceList}" var="Provinz" varStatus="Status"> <option value="${province.key}" <span style="color:#3333ff;"><c:if test="${factoryCenterInfo.province == province.key}">ausgewählt</c:if></span><span style="color:#3366ff;">></span>${province.value}</option> </c:fürJeden> </Auswählen> </Feldsatz> <Feldsatz deaktiviert> <select id="Stadtauswahl" class="form-control" data-val="${factoryCenterInfo.city}" onchange="Stadtänderung()"> <c:forEach items="${factoryPlace.cityList}" var="Stadt" varStatus="status"> <option value="${city.key}" <span style="color:#3333ff;"><c:if test="${factoryCenterInfo.city == city.key}">ausgewählt</c:if></span>>${city.value}</option> </c:fürJeden> </Auswählen> </Feldsatz> <Feldsatz deaktiviert> <select id="Bereichsauswahl" class="form-control" data-val="${factoryCenterInfo.area}"> <c:forEach items="${factoryPlace.areaList}" var="Bereich" varStatus="status"> <option value="${area.key}" <span style="color:#3333ff;"><c:if test="${factoryCenterInfo.area == area.key}">ausgewählt</c:if></span>>${area.value}</option> </c:fürJeden> </Auswählen> </Feldsatz> </div> </div> JS-Implementierungscode Wirkung: Mehrere Ajax-Anfragen umsetzen und Daten verknüpft durchsuchen Funktion Provinzänderung(){ var ProvinzId = $("#provinceSelect").val(); $("#citySelect").leer(); $("#areaSelect").empty(); wenn(Provinz-ID != null && Provinz-ID != ""){ $.ajax({ Typ: "POST", URL: "<span style="color:#3333ff;">Fabrik/getChangeList</span>", Datentyp: „json“, Daten: { "parentId":Provinz-ID, "placeKbn":"C" }, Cache:false, Erfolg: Funktion (Daten) { if("Erfolg" == Daten.Ergebnis){ wenn(data.cityList != null && data.cityList.length > 0){ für(var i = 0;i < data.cityList.length;i++){ var Stadt = Daten.Stadtliste[i]; var Schlüssel = (Stadt.Schlüssel == null? "":Stadt.Schlüssel); var Wert = (Stadt.Wert == null? "":Stadt.Wert); $("#citySelect").append("<option value = \"" + key + "\">"+ value + "</option>"); } }anders{ $("#citySelect").append("<option> </option>"); } $("#areaSelect").append("<option> </option>"); } if("Fehler" == Daten.Ergebnis){ $("#citySelect").append("<option> </option>"); $("#areaSelect").append("<option> </option>"); } }, Fehler:Funktion(XMLHttpRequest, textStatus, errorThrown){ $("#errorContent").html("Systemstörung, bitte kontaktieren Sie den Administrator"); } }); }anders{ $("#citySelect").append("<option> </option>"); $("#areaSelect").append("<option> </option>"); } } Funktion Stadtänderung(){ var cityId = $("#citySelect").val(); $("#areaSelect").empty(); wenn(cityId != null && cityId != ""){ $.ajax({ Typ: "POST", URL: "<span style="color:#3333ff;">Fabrik/getChangeList</span>", Datentyp: „json“, Daten: { "Eltern-ID":Stadt-ID, "placeKbn": "Q" }, Cache:false, Erfolg: Funktion (Daten) { if("Erfolg" == Daten.Ergebnis){ wenn(data.areaList != null && data.areaList.length > 0){ für(var i = 0;i < data.areaList.length;i++){ var Bereich = Daten.Bereichsliste[i]; var Schlüssel = (Bereich.Schlüssel == null? "":Bereich.Schlüssel); var Wert = (Bereich.Wert == null? "":Bereich.Wert); $("#areaSelect").append("<option value = \"" + key + "\">"+ value + "</option>"); } }anders{ $("#areaSelect").append("<option> </option>"); } } wenn("Fehler" == Daten.Ergebnis){ $("#areaSelect").append("<option> </option>"); } }, Fehler:Funktion(XMLHttpRequest, textStatus, errorThrown){ $("#errorContent").html("Systemstörung, bitte kontaktieren Sie den Administrator"); } }); }anders{ $("#citySelect").append("<option> </option>"); $("#areaSelect").append("<option> </option>"); } } Implementierungscode des Backend-Controllers @RequestMapping("<span style="color:#3333ff;">getChangeList</span>") @AntwortBody öffentliches Objekt getChangeList(String parentId,String placeKbn){ logBefore(logger, "Fabrik/getChangeList"); Map<String,Objekt> returnMap = neue HashMap<String,Objekt>(); wenn (FactoryConsts.CHAR_KBN_CITY.equals(placeKbn)) { wenn(getPlacelist( parentId, placeKbn) != null und getPlacelist( parentId, placeKbn).size() > FactoryConsts.INT_0){ returnMap.put("Ergebnis", "Erfolg"); returnMap.put("Stadtliste", getPlacelist(übergeordneteID, Ortsverzeichnis)); }anders{ returnMap.put("Fehler", "Städteliste ist leer"); returnMap.put("Stadtliste", ""); } }sonst wenn(FactoryConsts.CHAR_KBN_AREA.equals(placeKbn)){ wenn(getPlacelist( parentId, placeKbn) != null und getPlacelist( parentId, placeKbn).size() > FactoryConsts.INT_0){ returnMap.put("Ergebnis", "Erfolg"); returnMap.put("areaList", getPlacelist(parentId, placeKbn)); }anders{ returnMap.put("Fehler", "Bereichsliste ist leer"); returnMap.put("Bereichsliste", ""); } } Rückkehr ReturnMap; } /** *Dropdown-Liste „Provinz“* * @zurückkehren */ private Liste<PlaceOption> getPlacelist(String parentId,String kbn){ //Dropdown-Liste List<PlaceOption> placeList = new ArrayList<PlaceOption>(); placeList.add(neue PlaceOption()); QueryPlaceInfoParam queryParam = neuer QueryPlaceInfoParam(); queryParam.setPlaceKbn(kbn); wenn(!StringUtils.isEmpty(parentId)){ queryParam.setPlaceId(Integer.valueOf(parentId)); } FactoryPlaceNameResult placeResult = placeInfoService.queryPlaceInfo(queryParam); wenn(placeResult != null und "0".equals(placeResult.getResult()) && placeResult.getPlaceInfo() != null && placeResult.getPlaceInfo().size() > FactoryConsts.INT_0){ Liste<OrtsinfoFa> Ortsinfo = neue ArrayList<OrtsinfoFa>(); placeInfo = placeResult.getPlaceInfo(); für(FactoryPlaceInfo info : placeInfo){ PlaceOption-Option = neue PlaceOption(); option.setKey(String.valueOf(info.getPlaceId())); option.setValue(info.getPlaceName()); placeList.add(Option); } } gebe Ortsliste zurück; } Wenn Sie gleichzeitig auf das Menü klicken, führt der Controller den Startbildschirm aus /** * Grundlegende Informationen zur Initialisierungsmethode * * @param Anfrage * @zurückkehren */ @RequestMapping("toFactoryBaseInfo") öffentliche ModelAndView toFactoryBaseInfo (HttpServletRequest-Anfrage) { logBefore(logger, "Fabrik/toFactoryBaseInfo"); Modell und Ansicht mv = neues Modell und Ansicht(); //Unternehmenstyp Map<String,String> factoryTypeMap = new TreeMap<String,String>(); factoryTypeMap.putAll(FactoryConsts.FACTORY_TYPE_MAP); mv.addObject("factoryTypeMap", factoryTypeMap); FactoryFactoryInfo factoryInfo = (FactoryFactoryInfo) request.getSession().getAttribute(Const.SESSION_FACTORY); //Unternehmensinformationen abrufen FactoryFactoryInfoParam infoParam = new FactoryFactoryInfoParam(); FactoryFactoryInfoResult infoResult = neues FactoryFactoryInfoResult(); infoParam.setFactoryId(String.valueOf(factoryInfo.getFactoryId())); infoParam.setDifferent(FactoryConsts.STRING_WEB_ONE); //Web infoResult = factoryService.factoryInfo(infoParam); FactoryPlace factoryPlace = neuer FactoryPlace(); <span style="color:#3333ff;">// Dropdown-Liste „Provinz“ factoryPlace.setProvinceList(getPlacelist("0",FactoryConsts.CHAR_KBN_PROVINCE)); // Dropdown-Liste „Stadt“ factoryPlace.setCityList(getPlacelist(infoResult.getFactoryInfoEx().getProvince(),FactoryConsts.CHAR_KBN_CITY)); // Dropdown-Liste für Bereiche factoryPlace.setAreaList(getPlacelist(infoResult.getFactoryInfoEx().getCity(),FactoryConsts.CHAR_KBN_AREA));</span> <span style="color:#cc66cc;">mv.addObject("factoryPlace", factoryPlace);//Liste der Adressen</span> <span style="color:#6633ff;">mv.addObject("factoryCenterInfo", infoResult.getFactoryInfoEx());//Grundlegende Informationen der Unternehmenstabelle</span> mv.setViewName("Fabrik/FabrikInformationCenter/saveFactoryBaseInfo"); Rückkehr mv; } Es können mehrstufige Verknüpfungseffekte erzielt werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: So konfigurieren Sie eine VMware-Umgebung mit mehreren Knoten
>>: Win10 Installation von MySQL 5.7 MSI-Version des Tutorials mit Bildern und Text
Die in Baidu-Interviews gestellten Fragen müssen ...
1. Einleitung Im Projekt wird MySQL verwendet. Ic...
Vorwort Dieser Artikel stellt hauptsächlich 4 Met...
MySQL-Volltextsuche, chinesische Lösung Kürzlich ...
Inhaltsverzeichnis 01. Verwenden Sie useState, we...
1. HTML-Übersicht 1.HTML: Hypertext Markup Langua...
1. Was ist Scaffolding? 1. Vue-CLI Vue CLI ist ei...
Hinweis: Die dritte Methode wird nur in XSell ver...
<br />Ursprüngliche Adresse: http://andymao....
Vorwort Bootstrap, das beliebteste Front-End-Entw...
In diesem Artikelbeispiel wird der einfache Imple...
In diesem Artikel wird der spezifische Code von j...
1. Schreiben Sie das Dockerfile (1) Klicken Sie m...
1. CSS verwenden Code kopieren Der Code lautet wie...
Vorwort Die meisten Benutzer führen diesen Vorgan...