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
Inhaltsverzeichnis 1. Traversal-Klasse 1. fürJede...
Inhaltsverzeichnis Vorwort Standard-SFC-Schreibme...
Im vorherigen Blogbeitrag ging es um das private ...
Anforderung: Manchmal, wenn der Seiteninhalt kurz...
1. Installation 1. Herunterladen Gehen Sie zur of...
1. Installieren Sie die virtuelle Maschine Hyper-...
Wenn wir lernen, Webseiten zu entwickeln, ist das...
Inhaltsverzeichnis 1. Geltungsbereich 1. Globaler...
Dieser Artikel stellt Jenkins+Maven+SVN+Tomcat üb...
In diesem Artikel werden hauptsächlich die Unters...
In diesem Artikelbeispiel wird der spezifische Co...
1. Übersicht 1.1 Grundlegende Konzepte: Docker is...
Dieser Artikel veranschaulicht anhand von Beispie...
Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...
Eine kurze Analyse von rem Zunächst einmal ist re...