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
Hinweis: Es wird empfohlen, dass der Speicher der...
Führen Sie zuerst den Docker-Container aus Führen...
1. Laden Sie centos7 herunter Download-Adresse: h...
In einer komplexen Tabellenstruktur erstrecken si...
1. Um ein PPTP-VPN aufzubauen, müssen Sie Port 17...
Code kopieren Der Code lautet wie folgt: <inpu...
Dies ist eine Interviewfrage, die die Verwendung ...
Konzepteinführung : 1. px (Pixel): Dies ist eine ...
Da es im Internet nur wenige und unzureichende In...
Kürzlich stellte mir ein Freund eine Frage: Beim ...
Gründe, warum die 1px-Linie dicker wird Wenn wir ...
1. Zweck: Machen Sie den Code leichter wartbar un...
#docker ps-Check, alle Ports sind zugeordnet CONT...
Dieser Artikel beschreibt, wie lamp-php7.0 in ein...
1. Erstellen Sie eine Docker-Umgebung 1. Erstelle...