Easyui appelle la base de données pour réaliser l'effet de la liaison à trois niveaux entre les provinces, les villes, les comtés et les districts.
1. Tout d'abord, concevez la base de données, comme indiqué sur la figure. L'un a 4 champs de code, note, pycode. Code: Code de division administrative, Remarque: Annotation chinoise, pycode: abréviation de pinyin. Le code se compose de 6 champs. S'il s'agit du niveau provincial, il est de 0 000, s'il s'agit de la ville au niveau de la préfecture, elle est 00 et l'autre est le comté et le district.
J'ai téléchargé le code de base de données pertinent sur ma ressource CSDN, et les étudiants qui en ont besoin le téléchargeront eux-mêmes.
2. J'utilise Java, SSH Framework combiné avec des commandes EasyUi
3. Le code HTML est le suivant
<tr> <td> Province: </td> <td> <entrée name = "Contact.province" id = "province"> </td> <td> ville: </td> <td> <entrée name = "Contact.City" id = "City"> </td> <td> comté et district: </td> <td> <preny name = "Contact.County" id = "County> </ TD> </tr>
4. Le code JS correspondant est le suivant
$ (function () {// sélectionnez le contrôle dans la zone déroulante. Le contenu de la boîte déroulante consiste à interroger dynamiquement les informations de la base de données $ ('# province'). ComboBox ({url: 'appliquer / provincecombox_combobox.action', modifiable: FALS TextField: 'Note', OnHidepanel: Function () {$ ("# City"). ComboBox ("setValue", ''); $ ("# comté"). if (province! = '') {$ .ajax ({type: "post", URL: "appliquer / citycomboBox_combobox.action? province =" + province, cache: false, dataType: "json", fonction (data) {$ (# ville "). $ ('# ville'). ComboBox ({modifitable: false, // non éditable d'état Cache: false, // PannelHeight: 'Auto', // Auto-Height Fit ValueField: 'Code', TextField: 'Remarque', OnHidepanel: Function () {$ ("# cregicoundy"). City = $ ('# City'). ComboBox ('GetValue'); }});}}}); $ ('# comté'). ComboBox ({modifiable: false, // pas de cache d'état modifiable: false, // PannelHeight: 'not $ ("# CREGICUNTY"). Val (str);}}); $ ('# country'). ComboBox ({// Country Initialisation ValueField: 'English', TextField: 'Note', URL: 'JSON / CAYLE CountrySearch (NewValue); pays (NewValue);}});});5. Code d'action Java
// Interroger le code administratif national du code de district de la province public provincecomboBox () lève une exception {list list = comboboxService.FindProvince (); this.jsonutil (liste); retourner null; } // Interroger le district administratif national Code City Public String CityCombox () lève une exception {list list = comboboxService.FindCity (province); this.jsonutil (liste); retourner null; } // interroger le district administratif national du comté et le district public de chaîne publique comté et district exception {list list = comboboxService.FindCounty (ville); this.jsonutil (liste); retourner null; } // Appelez la méthode de l'outil JSON et passez dans le paramètre Alist public void JSonutil (objet comptelist) lance l'exception {httpservletResponse réponse = servletActionContext.getResponse (); Log.info ("JSON Format:" + AccountList.ToString ()); String returnjson = JSONConvert.returnjson (compte); Response.SetcharAtterencoding ("UTF-8"); Response.getWriter (). println (returnjson); }6. Code JSON de l'outil
import java.io.stringwriter; import org.codehaus.jackson.map.objectmapper; public class jsonconvert {static string jsonstr; La chaîne statique publique returnjson (objet objet) lève l'exception {objectMapper objectMapper = new ObjectMapper (); StringWriter stringWriter = new StringWriter (); objectMapper.WriteValue (StringWriter, Object); jsonstr = stringwriter.toString (); retourner jsonstr; }}7. Code d'interface correspondant
// Interroger la liste publique de la province FindProvince () lève une exception; // interroger la liste publique de la ville findCity (code de chaîne) lève une exception; // interroger la liste publique du comté et le district FindCounty (code de chaîne) lève une exception;
8. Code de classe d'implémentation d'interface correspondante
// Boîte de putdown - Dery Province Public List FindProvince () {Log.info ("=== Box Drop-Down - Province de réserve"); Critères critères = this.sessionfactory.getCurrentession (). CreateCriteria (careacodetblqg.class); critères.add (restrictions.like ("code", "% 0000")); Critères.AdDorder (Order.asc ("Code")); Retour Critères.List (); } // Putdown Box-Query City Public List FindCity (String Code2) {Log.info ("=== Drop-down Box-Query City"); String id = code2.SubString (0,2); Critères critères = this.sessionfactory.getCurrentession (). CreateCriteria (careacodetblqg.class); critères.add (restrictions.like ("code", id + "% 00")); critères.add (restrictions.ne ("code", code2)); Critères.AdDorder (Order.asc ("Code")); Retour Critères.List (); } // Boîte à pull-down - Dery County Public List FindCounty (String Code3) {Log.info ("=== Box Drop-Down - County"); String id = code3.SubString (0,4); Critères critères = this.sessionfactory.getCurrentession (). CreateCriteria (careacodetblqg.class); critères.add (restrictions.like ("code", id + "%")); critères.add (restrictions.mot (restrictions.like ("code", "% 01"))); critères.add (restrictions.ne ("code", code3)); Critères.AdDorder (Order.asc ("Code")); Retour Critères.List (); }Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.