• 地点下来框的实现(php)


    效果图:

    样式(bootstrap):

    class="selectpicker show-tick form-control",就是多了个form-contro就行了

    概念:

            这里做了两个change的动作:

               第一,当省的取值改变的时候,市和区的数据也会改变

               第二,当市的取值改变的时候,区的数据也会改变

    第一个动作在加载的时候就需要完成,也需要设置为省的改变动作。

    第二个只需要设置市的改变动作即可。

     根据上一级取到的数据来改变下一级的数据

    数据的互动用ajax来实行,用ajax取到的数据只能在success里面有效。

    代码如下:

    ajax:    

     1 public function area(){
     2         header("Content-Type: text/html; charset=UTF-8");
     3           if(I('get.id')){
     4                $area = M('area');
     5                $where = array();
     6                $where['area_name'] = I('get.id');
     7                $id = $area -> where($where) -> field('area_id') -> find();
     8                $where = null;
     9                  $where['parent_id'] = $id['area_id'];
    10                  $data = $area -> where($where) -> field('area_id,area_name,area_describe,parent_id') -> select();
    11                  $this->ajaxReturn($data,'json');
    12           }

    动作事件:

     1 //  area_province 省   , area_city 市 , area_district 区
     2       $(document).ready(function(){
     3           area_one('#area_province','#area_city','#area_district');
     4       })
     5 
     6       $('#area_province').change(function(){
     7 //          area('#area_province','#area_city');
     8           area_one('#area_province','#area_city','#area_district');
     9       });
    10   
    11       $('#area_city').change(function(){
    12           area_two('#area_city','#area_district');
    13           });

    方法:

     1       function  area_one(getSelect,serSelect,setSelect){
     2           var a =  $(getSelect).val();
     3           var html = '';
     4           if(a !== null && a !== '' && a !== undefined ){
     5               $.ajax({
     6                   type:"get",
     7                   url : "{:U('FullTime/area')}",
     8                   data:{ id : a },
     9                   dataType: "json",
    10                   success: function(data){
    11                       for (var i = 0; i < data.length; i++) {
    12                           if(i == 0){
    13                               html += "<option value=" + "'" + data[i].area_name + "'" + " " +"selected='selected'" +">"
    14                                       + data[i].area_name +" </option>";
    15                           }
    16                           html += "<option value=" + "'" + data[i].area_name + "'" +">"
    17                                   + data[i].area_name +" </option>";
    18                       }
    19                       $(serSelect).html(html);
    20                       area_two(serSelect,setSelect)
    21                   },
    22                   error:function(jqXHR){
    23                       alert("发生错误:" + jqXHR.status);
    24                   },
    25               });
    26           }else{
    27 
    28           }
    29       }
     1       function area_two(getSelect,serSelect){
     2           var a =  $(getSelect).val();
     3           var html = '';
     4           if(a !== null && a !== '' && a !== undefined ){
     5               $.ajax({
     6                   type:"get",
     7                   url : "{:U('FullTime/area')}",
     8                   data:{ id : a },
     9                   dataType: "json",
    10                   success: function(data){
    11                       for (var i = 0; i < data.length; i++) {
    12                           html += "<option value=" + "'" + data[i].area_name + "'" +">"
    13                                   + data[i].area_name +" </option>";
    14                       }
    15                       $(serSelect).html(html);
    16                   },
    17                   error:function(jqXHR){
    18                       alert("发生错误:" + jqXHR.status);
    19                   },
    20               });
    21           }else{
    22               alert("上一级不能为空");
    23           }
    24       }
     
  • 相关阅读:
    维护是关键 刻录机不读/刻盘故障实例排除
    压缩viewstate
    采用"软改"的方式激活Windows 7
    开启VAIO的VT
    比较通用的存储过程分页
    linux如何安装声卡驱动
    给Fedora11安装五笔
    导入CSV文件到数据库
    Ubuntu第一次登录用户名和密码错误不能登录
    CSS中Position、absolute、Relative、fixed、static的用法
  • 原文地址:https://www.cnblogs.com/laijinquan/p/7581872.html
Copyright © 2020-2023  润新知