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
Wenn Sie in React den Status direkt mit this.stat...
Inhaltsverzeichnis 1. Einleitung 2. Der Unterschi...
In diesem Artikel wird die Installations- und Kon...
In diesem Artikel finden Sie das Download-, Insta...
1. Fortsetzen nacos-Datenbank Datenbankname nacos...
1. Laden Sie das ElasticSearch 6.4.1-Installation...
Erkennen Sie die Unterschiede zwischen den Method...
MySQL-Berechtigungen und Indizes Der höchste Benu...
Inhaltsverzeichnis Experimentelle Umgebung Instal...
Inhaltsverzeichnis 2. Detaillierte Erklärung 2.1....
WeChat-Miniprogramme erfreuen sich immer größerer...
Dieser Artikel beschreibt den SQL_Mode-Modus in M...
Inhaltsverzeichnis Überblick Formularvalidierung ...
Im Allgemeinen wird während des Entwicklungsproze...
1. Grundlegende Konzepte //Jeder Container kann a...