接待处代码

js

//采用jquery展示鼠标放到省ul下拉显示

$("#province").hover(function(){

                        $("#province ul").toggle();

                    })

//使用jquery效果展示鼠标放到城市的ul下拉展示

                    $("#city").hover(function(){

                        $("#city ul").toggle();

                    })

//使用jquery效果展示鼠标放到区县的ul下拉展示

                    $("#area").hover(function(){

                        $("#area ul").toggle();

                    })

//改变省份触发的函数

function changePro(ele){

                $("#showPro").text(ele.innerText);

                $("#showCity").text("市");

                $("#showArea").text("区");

                $("#pid").val(ele.value);

                $("#cid").val("");

                $("#aid").val("");

                $.ajax({

                    url:'getAjaxJson.action',

                    data:{type:'city',id:ele.value},

                    type:'POST',

                    success:function(data){

                        var cityList = data.list;

                        var ulEle = $("#cities");

                        ulEle.children().remove();

                        for(var i=0;i<cityList.length;i++){

                            ulEle.append("<li onclick='changeCity(this)' value=" + cityList[i].cityid + "style='border: 0px'>"+cityList[i].city+"</li>");

                        }

                    }

                });

            }

            //改变城市触发的函数

            function changeCity(ele){

                $("#showCity").text(ele.innerText);

                $("#showArea").text("区");

                $("#cid").val(ele.value);

                $("#aid").val("");

                $.ajax({

                    url:'getAjaxJson.action',

                    data:{type:'area',id:ele.value},

                    type:'POST',

                    success:function(data){

                        var areaList = data.list;

                        var ulEle = $("#areas");

                        ulEle.children().remove();

                        for(var i=0;i<areaList.length;i++){

                            ulEle.append("<li  onclick='changeArea(this)' value=" + areaList[i].areaid + "style='border: 0px'>"+areaList[i].area+"</li>");

                        }

                    }

                });

            }

            //改变区县触发的函数

            function changeArea(ele){

                $("#showArea").text(ele.innerText);

                $("#aid").val(ele.value);

            }

html代码

<span class="list_title_1 fl" id="province">

                                        <span class="fl" id="showPro" style="font-size:18px;padding-top:5px;width:170px;float:left">省</span><img class="fl" src="${configBean.speedDomian}/images/pc/arr_down.png" width=10px height=10px/>

                                        <ul>

                                            <c:forEach items="${provinceList}" var="province">

                                                <li onclick="changePro(this)" style="border: 0px" value="${province.provinceid}">${province.province}</li>

                                            </c:forEach>

                                        </ul>

                                  </span>

                                  <span class="list_title_1 fl" style="margin-left:12px;" id="city">

                                        <span class="fl" id="showCity" style="font-size:18px;padding-top:5px;width:180px">市</span><img class="fl" src="${configBean.speedDomian}/images/pc/arr_down.png" width=10px height=10px/>

                                        <ul id="cities">

                                        </ul>

                                  </span>

                                   <span class="list_title_1 fl" style="margin-left:12px;" id="area">

                                        <span class="fl" id="showArea" style="font-size:18px;padding-top:5px;width:180px">区</span><img class="fl" src="${configBean.speedDomian}/images/pc/arr_down.png" width=10px height=10px/>

                                        <ul id="areas">

                                        </ul>

                                  </span>

模拟select下拉的css代码

.list_title_1{ width:200px; height:50px; border:1px solid #d6d6d6; line-height:34px; text-indent:10px; font-size:14px; color:#999; cursor:pointer; margin-top:-7px;}

.list_title_1 span{ width:70px; margin-left:0px;}

.list_title_1 img{ float:right; margin:15px 5px 0 0}

.list_title_1 ul{ display:none; width:200px; position:absolute; border:1px solid #d6d6d6; border-bottom:none; margin-top:34px; margin-left:-1px;}

.list_title_1 ul li{ width:100%; height:34px; line-height:36px; border-bottom:1px solid #d6d6d6; background:#fff; cursor:pointer}

.list_title_1 ul li:hover{ background:#43B1E8; color:#fff;}

获取城市,区县的java代码

public void getAjaxJson(){//此处使用的struts2的框架

        try {

            HttpServletResponse response = getResponse();

            response.setContentType("application/json;charset=UTF-8");

            PrintWriter out = response.getWriter();

            String type = getRequest().getParameter("type");

            String id = getRequest().getParameter("id");

            Map<String,Object> map = new HashMap<String,Object>();

            JSONObject jo = null;

            if(type!=null&&"city".equals(type)){

                hql="from cities where  provinceid='" + id + "'";

                List<cities> list = cdao.getListObj(hql,new cities());

                map.put("type", type);

                map.put("list", list);

                jo = JSONObject.fromObject(map);

            }else if(type!=null&&"area".equals(type)){

                hql="from areas where  cityid='" + id + "'";

                List<areas> list = cdao.getListObj(hql,new areas());

                map.put("type", type);

                map.put("list", list);

                jo = JSONObject.fromObject(map);

            }

            String str = jo.toString();

            out.print(str);

            out.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

//相应stuts2的相应配置文件片段

<!-- 获取省市json -->

        <action name="getAjaxJson" class="action.unset.ProjectTraderAction" method="getAjaxJson">

        </action>

说明 下拉的省部件放置request域内。不要把ajax内在要求

版权声明:本文博主原创文章,博客,未经同意不得转载。

联合县城市,采用ajax,而使用ul模拟select下拉的更多相关文章

  1. 自己用ul模拟实现下拉多选框,

    模拟实现下拉多选框 效果如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. 用div,ul,input模拟select下拉框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. ul -- li 模拟select下拉框

    在写项目中 用到下拉框,一般用 <select name="" id=""> <option value=</option> &l ...

  4. ul+jquery自定义下拉选择框

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Select下拉框使用ajax异步绑定数据

    <!--前端样式--> <style> #searchs { width: 200px; position: absolute; border-top: none; margi ...

  6. SpringMVC之ajax+select下拉框交互常用方式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 【jquery】ajax 动态 改变 select下拉框选中的值

    //JS<script type="text/javascript> //ajax动态给添加原料的[商品名称]下拉框绑定selected属性 $("#origin_co ...

  8. ul模拟select,位置,数据,是否可输入及输入提示效果都可作为参数直接传入

    转发请注明出处,虽然转发几率不大... HTML <span class="theContainer"></span> CSS body {padding: ...

  9. ajax处理select下拉表单

    $('#gameid').change(function() { var gameid = $(this).val(); if (this.value != '') { $.ajax({ url: ' ...

随机推荐

  1. 高性能 Socket 组件 HP-Socket v3.2.1-RC2 公布

    HP-Socket 是一套通用的高性能 TCP/UDP Socket 组件,包括服务端组件.client组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C+ ...

  2. Objective-C代码块语法(block)使用

    和其它变量本质上相似的代码块.所不同的是,数据存储代码块是主体的函数. 使用的代码块被,你可以像打电话一样等标准功能,传入参数的数量,并获得返回值. 插入符号(^)语法标记块.我们熟悉的参数按照规约定 ...

  3. Net Memory Profiler 分析.Net程序内存泄露

    Net Memory Profiler 分析.Net程序内存泄露 Haozes's Tech Space 人類的全部才能無非是時間和耐心的混合物 使用.Net Memory Profiler 分析.N ...

  4. effective c++ 条款18 make interface easy to use correctly and hard to use incorrectly

    举一个容易犯错的例子 class Date { private: int month; int day; int year; public: Date(int month,int day,int ye ...

  5. 如何插上U盘 自动复制内容

    U盘插入自动复制,有效对付那些不肯给PPT的老师,还有一定几率拿到期末考试卷子···有图有真相!业界良心的好东西!!现在看还来得及!!! 代码优化了一下,把不是很重要的都删掉了,这次使用时看不出任何现 ...

  6. 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)

    原文:乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 模板方法模式(Template Method ...

  7. JAVA Socket超时浅析(转)

    套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”.针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”.JAVA有两个基于数据流 ...

  8. 【Web探索之旅】第二部分第五课:响应式网站和移动应用

    内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...

  9. Velocity脚本新手教程

    从网络下的数据汇编 一.Velocity简介 Velocity它是Apache该公司的开源产品,它是一套基于Java语言模板引擎,背景可以非常灵活的数据与模板文件一起反对.他直言不讳地说:,人使用模板 ...

  10. SoC嵌入式软件架构设计II:没有MMU的CPU虚拟内存管理的设计和实现方法

    大多数的程序代码是必要的时,它可以被加载到内存中运行.手术后,可直接丢弃或覆盖其它代码. 我们PC然在同一时间大量的应用,地址空间差点儿能够整个线性地址空间(除了部分留给操作系统或者预留它用).能够觉 ...