我这里以行政区划做例子

//这个类是把数据库中的行政区划转化为json格式的data

@SuppressWarnings("rawtypes")
public class XzqhLoadManager extends BaseManager {

/**查询市级**/
private static final String GET_CITY_SQL = "select xzqh_id,node_id,xjgmc from mz_xzjg where node_level = 2 and node_pid = '03' order by node_id ";

/**查询县级**/
private static final String GET_DISTRICT_SQL = "select xzqh_id,node_id,xjgmc from mz_xzjg where node_level = 3 and node_pid = ? order by node_id ";

/**查询镇街**/
private final static String QUERY_TOWNSTREET_SQL = "select xzqh_id,node_id,xjgmc from mz_xzjg where node_level = 4 and node_pid = ? order by node_id ";

/**查询村社**/
private final static String QUERY_VILLAGECOMMUNITY_SQL = "select xzqh_id,node_id,xjgmc from mz_xzjg where node_level = 5 and node_pid = ? order by node_id ";

public static void getXzqhJsonData(ServiceData sdata) {
  String responeMessage = "{success:'true', message:'ok'}";
  log.info(responeMessage);
  try {
    RowList row_level2 = AspDaoUtil.getJdbcTemplate().queryRowList(GET_CITY_SQL);
    JSONArray jsonArr2 = new JSONArray();
    JSONArray jsonArr3 = new JSONArray();
    JSONArray jsonArr4 = new JSONArray();
    JSONArray jsonArr5 = new JSONArray();
    JSONObject json2 = new JSONObject();//市级
    JSONObject json3 = new JSONObject();//区县
    JSONObject json4 = new JSONObject();//镇街
    JSONObject json5 = new JSONObject();//村社
    FieldList field_level2 = null;
    FieldList field_level3 = null;
    FieldList field_level4 = null;
    FieldList field_level5 = null;
    RowList row_level3 = null;
    RowList row_level4 = null;
    RowList row_level5 = null;
    for (int i = 0; i < row_level2.size(); i++) {
      field_level2 = row_level2.get(i);
      row_level3 = AspDaoUtil.getJdbcTemplate().queryRowList(GET_DISTRICT_SQL,new Object[] {
      field_level2.get("node_id")});
      for(int j = 0; j<row_level3.size();j++){
        field_level3 = row_level3.get(j);
        json3.put("id", field_level3.get("xzqh_id"));
        json3.put("name", field_level3.get("xjgmc"));

        row_level4 = AspDaoUtil.getJdbcTemplate().queryRowList(QUERY_TOWNSTREET_SQL, new Object[] {
        field_level3.get("node_id")});
        for(int k=0; k<row_level4.size();k++){
          field_level4 = row_level4.get(k);
          json4.put("id", field_level4.get("xzqh_id"));
          json4.put("name", field_level4.get("xjgmc"));

          row_level5 = AspDaoUtil.getJdbcTemplate().queryRowList(QUERY_VILLAGECOMMUNITY_SQL, new Object[] {
          field_level4.get("node_id")});
          //Thread.sleep(5000); //间隔执行时间10秒
          for(int m=0; m<row_level5.size();m++){
            field_level5 = row_level5.get(m);
            json5.put("id", field_level5.get("xzqh_id"));
            json5.put("name", field_level5.get("xjgmc"));
            jsonArr5.add(json5);
            json5.remove(json5);
          }
          json4.put("child", jsonArr5);
          jsonArr5.removeAll(jsonArr5);
          jsonArr4.add(json4);
          json4.remove(json4);
        }
        json3.put("child", jsonArr4);
        jsonArr4.removeAll(jsonArr4);
        jsonArr3.add(json3);
        json3.remove(json3);
      }
      json2.put("id", field_level2.get("xzqh_id"));
      json2.put("name", field_level2.get("xjgmc"));
      json2.put("child", jsonArr3);
      jsonArr3.removeAll(jsonArr3);
      jsonArr2.add(json2);
      json2.remove(json2);
    }

    //log.info(jsonArr2);
    String xzqhJsonStr = "{\"data\": " + jsonArr2.toString() + "}";
    log.info(xzqhJsonStr);

    String filepath = "D:/yl_yjt_app/";
    log.info(filepath);
    CreateFileUtil.createJsonFile(xzqhJsonStr, filepath, "xzqhJson");

    responeMessage = "{success:'true', message:'ok', data:'"+xzqhJsonStr+"'}";

  } catch (Exception e) {
    responeMessage = "{success:'false', message:'错误:请联系客服!'}";
    log.info(e.getMessage());
  }

  sdata.setResponseBody(responeMessage);
}

}

//我们把用类处理得到的data.jason文件放到html的当前文件夹下

//现在html中写好放置的行政区划的选择按钮 这里的点击事件,放在$(function{})中,可以自动检测到是否点击

///这个就是效果,移动开发mobile-select-area插件。

插件方法属性

default:0||1

0为空,true时默认选中第一项,默认1

trigger:

触发弹窗的DOM元素 ,可以是input或其他

value:

初始值,

level: int

级别数,默认是3级的

separator: ,

id值分隔符

eventName:tap|click

触发事件名称,默认click,使用zeptojs的可以用tap事件

data:

当data为json对象时可以直接解析,此时直接接收数组
当data为string发送ajax请求后返回json,格式如下:

mobile-select.js的特性

特性

  • 原生js移动端选择控件,不依赖任何库
  • 可传入普通数组或者json数组
  • 可根据传入的参数长度,自动渲染出对应的列数,支持单项到多项选择
  • 自动识别是否级联
  • 选择成功后,提供自定义回调函数callback() 返回当前选择索引位置、以及选择的数据(数组/json)
  • 每次手势滑动结束后,也提供一个回调函数transitionEnd() 返回当前选择索引位置、以及选择的数据(数组/json)
  • 能够在已经实例化控件后,提供update函数,传其他参数再次渲染
  • 提供重定位函数

java 移动开发获取多级下拉框json数据的类和mobile-select-area插件的更多相关文章

  1. avalon.js 多级下拉框实现

    学习avalon.js的时候,有一个多级下拉框的例子,地址 戳这里 代码实现了联动, 但是逻辑上面理解有点难度,获取选择的值 和 页面初始化 功能存在问题. 在写地图编辑的时候,也用到了多级下拉框,特 ...

  2. Java Swing应用程序 JComboBox下拉框联动查询

    在web项目中,通过下拉框.JQuery和ajax可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉 ...

  3. Dropdown.js基于jQuery开发的轻量级下拉框插件

    Dropdown.js 前言 在SPA(Single Page Application)盛行的时代,jQuery插件的轮子正在减少,由于我厂有需求而开发了这个插件.如果觉得本文对您有帮助,请给个赞,以 ...

  4. Python+selenium之获取文本值和下拉框选择数据

    Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...

  5. easy ui 下拉框绑定数据select控件

    easy ui 中的下拉框控件叫做select,具体代码如下: html代码:①.这是一个公司等级的下拉框 <tr> <td>公司等级:</td> <td&g ...

  6. FineReport——JS二次开发(隐藏下拉框控件的倒三角)

    在对FR控件进行二次开发的过程中,需要自定义样式,比如下拉框控件带有自动检索的功能,但是又希望它的显示样式如同文本框一样,这时就需要隐藏多余的部分. 在对在线文档的查阅中可以发现很多选择器适用于多种控 ...

  7. Selenium+Java(八)Selenium下拉框处理

    Selenium定位下拉框中的元素与普通元素定位有所不同,下面介绍三种定位下拉框元素的方法. 下拉款HTML代码如图所示: 一.通过text定位 //获取下拉框对象 Select city = new ...

  8. AngularJS 多级下拉框

    <div ng-app="MultiDropDownApp" ng-controller="MultiDropDownControl as vm"> ...

  9. easy ui 下拉级联效果 ,下拉框绑定数据select控件

    html代码: ①两个下拉框,一个是省,另一个市 <tr> <td>省:</td> <td> <select id="ProvinceI ...

随机推荐

  1. p1468 Party Lamps

    就是模拟.同一个开关按2下相当于没按,那么,如果一共按0下,就是没按,按1下就是4个开关的1个,按2下可能相当于实际按了0下或按2下,按3下实际按了1下或3下,之后如果是奇数,相当于按1或3下,偶数相 ...

  2. canvas学习之粒子动画

    项目地址:http://pan.baidu.com/s/1ccTptc 粒子动画意思就是把一个图片粒子画,然后使用粒子作出动画效果,主要两个问题:一个图片如何粒子化,这里面我们使用canvas的get ...

  3. NYOJ - 整数划分(四)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=746 要求对一个n的整数插入m个乘号,求最大结果. 构造dp:dp[i][j]表示枚举至j ...

  4. MySQL事务(二)

    一.事务的隔离级别/锁问题 基本的介绍: 当我们的mysql表,被多个线程或者客户端同时操作时,mysql提供一种机制,可以让不同的事务在操作数据时,具有隔离性. 锁是计算机协调多个进程或线程并发访问 ...

  5. 2.4 UML类图

    类图定义 类class的定义 具有相同属性.操作.方法.关系或者行为的一组对象的描述符 类是真实世界事物的抽象 问题领域的类:在对系统建模时,将会涉及到如何识别业务系统中的事物,这些事物构 成了整个业 ...

  6. layuitable设置数据表

    如图,要设置类似这样的格式 步骤如下: 1. 设置一个列表表格 2. 获取数据 table.render({ elem: '#pl-list' ,id: 'pl_table' ,height: 480 ...

  7. 从零搭建和配置OSX开发环境

    对于每一名开发者来说,更换系统或者更换电脑的时候,都免不了花上不短的时间去折腾开 发环境的问题.我本人也是三番两次,深知这个过程的繁琐.所有,根据我自己以往的经验, 以及参考一下他人的意见,整理一下关 ...

  8. GitHub学习三-远程版本库更新与提交

    1.远程版本库更新 一般来说,将本地与远程相关联之后,首先将数据从远程更新下来再上传比较好. 输入 git pull origin master 如果新建版本库的话勾选了初始化包含readme.md, ...

  9. docker实战系列之docker 端口映射错误解决方法

    错误: Error response from daemon: Cannot start container web: iptables failed: iptables -t nat -A DOCK ...

  10. Maven插件系列之spring-boot-maven-plugin

    Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Mave ...