Easyui chama o banco de dados para alcançar o efeito da ligação de três níveis entre províncias, cidades, condados e distritos.
1. Primeiro, projete o banco de dados, conforme mostrado na figura. Um tem 4 campos código, nota, pycode. Código: Código da Divisão Administrativa, Nota: Anotação Chinesa, Pycode: Abreviação Pinyin. O código consiste em 6 campos. Se é o nível provincial, é 0.000, se é a cidade em nível de prefeitura, é 00 e o outro é o condado e o distrito.
Eu carreguei o código do banco de dados relevante para o meu recurso CSDN, e os alunos que precisam o baixarão.
2. Eu uso o Java, SSH Framework combinado com controles easyui
3. O código HTML é o seguinte
<tr> <td> Província: </td> <td> <input name = "contact.province" id = "Província"> </td> <td> cidade: </td> <td> <input name = "contact.city" id = "city"> </td> <td> county e distrito. " > </td> </tr>
4. O código JS correspondente é o seguinte
$ (function () {// Selecione o controle na caixa suspensa. O conteúdo da caixa suspensa é para consultar dinamicamente as informações do banco de dados $ ('#Província'). ComboBox ({url: 'Aplicar/provincecomboBox_comboBox.action', editable: False // no State/sem cache editável: 'false, // painel de peso Textfield: 'Nota', OnHidePanel: function () {$ ("#City"). $ .AJAX ({TYPE: "POST", URL: "Aplicar/CityComBobox_ComboBox.Action? Editável: Falso, // Cache de Estado não editável: Falso, // PainelHeight: 'Auto', // Auto-Hight Fit Valuefield: 'Code', TextField: 'Note', OnhidePanel: function () {$ ("#Cregicounty") $ ('#city'). ComboBox ('getValue'); }); $ ("#Cregicounty"). Val (STR); países (newvalue);}});});5. Código de ação Java
// Consulta o Código Nacional do Distrito Administrativo Província Public String ProvinceCombOBox () lança Exceção {List List = ComboBoxService.findProvince (); this.jsonutil (lista); retornar nulo; } // Consulta o código administrativo nacional do Distrito Public Public String CityCombOBox () lança Exceção {List List = ComboBoxService.findcity (Província); this.jsonutil (lista); retornar nulo; } // Consulta o Condado de Código do Distrito Nacional e o Distrito County e o distrito de String e o distrito lança Exceção {List List = ComboBoxService.FindCounty (City); this.jsonutil (lista); retornar nulo; } // Ligue para o método da ferramenta JSON e passe no parâmetro alist public void jsonutil (object AccountList) lança Exceção {httpServletResponse Response = servletActionContext.getResponse (); log.info ("formato json:" + contalist.toString ()); String returnjson = jsonConvert.returnjson (AccountList); Response.Setcharacterencoding ("UTF-8"); resposta.getWriter (). println (returnjson); }6. Código JSON da ferramenta
importar java.io.stringwriter; importar org.codehaus.jackson.map.objectmapper; classe pública jsonConvert {static string jSonstr; public static string returnjson (objeto objeto) lança exceção {objectMapper objectMapper = new objectMapper (); StringWriter stringWriter = new StringWriter (); objectMapper.WriteValue (StringWriter, Object); jSonstr = stringWriter.toString (); retornar JSonstr; }}7. Código de interface correspondente
// Consulta a Lista Pública da Província FindPrevince () lança exceção; // Consulta a lista pública da cidade FindCity (código da String) lança exceção; // Consulta o condado e a lista pública do distrito FindCounty (código da string) lança exceção;
8. Código de classe de implementação de interface correspondente
// Caixa de putdown-Lista pública da província de Query findProvince () {Log.info ("=== caixa suspensa-província de Query"); Critérios critérios = this.SessionFactory.GetCurrentSession (). CreateCriteria (careacodetblqg.class); critério.add (restrições.like ("code", "%0000")); critério.Addorder (Order.asc ("code")); Critérios de retorno.List (); } // Lista pública da cidade de box-quedery findCity (string code2) {log.info ("=== Cidade de caixa suspensa"); String id = code2.substring (0,2); Critérios critérios = this.SessionFactory.GetCurrentSession (). CreateCriteria (careacodetblqg.class); critério.add (restrições.like ("code", id+"%00")); critério.add (restrições.ne ("code", code2)); critério.Addorder (Order.asc ("code")); Critérios de retorno.List (); } // Caixa Pull-Down-Lista pública do condado de Query FindCounty (String Code3) {Log.info ("=== caixa suspensa-Condado de Query"); String id = code3.substring (0,4); Critérios critérios = this.SessionFactory.GetCurrentSession (). CreateCriteria (careacodetblqg.class); critério.add (restrições.like ("code", id+"%")); critério.add (restrições.NOT (restrições.like ("code", "%01"))); critério.add (restrições.ne ("code", code3)); critério.Addorder (Order.asc ("code")); Critérios de retorno.List (); }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.