效果图:

样式(bootstrap):

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

概念:

这里做了两个change的动作:

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

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

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

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

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

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

代码如下:

ajax:

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

动作事件:

 //  area_province 省   , area_city 市 , area_district 区
$(document).ready(function(){
area_one('#area_province','#area_city','#area_district');
}) $('#area_province').change(function(){
// area('#area_province','#area_city');
area_one('#area_province','#area_city','#area_district');
}); $('#area_city').change(function(){
area_two('#area_city','#area_district');
});

方法:

       function  area_one(getSelect,serSelect,setSelect){
var a = $(getSelect).val();
var html = '';
if(a !== null && a !== '' && a !== undefined ){
$.ajax({
type:"get",
url : "{:U('FullTime/area')}",
data:{ id : a },
dataType: "json",
success: function(data){
for (var i = ; i < data.length; i++) {
if(i == ){
html += "<option value=" + "'" + data[i].area_name + "'" + " " +"selected='selected'" +">"
+ data[i].area_name +" </option>";
}
html += "<option value=" + "'" + data[i].area_name + "'" +">"
+ data[i].area_name +" </option>";
}
$(serSelect).html(html);
area_two(serSelect,setSelect)
},
error:function(jqXHR){
alert("发生错误:" + jqXHR.status);
},
});
}else{ }
}
       function area_two(getSelect,serSelect){
var a = $(getSelect).val();
var html = '';
if(a !== null && a !== '' && a !== undefined ){
$.ajax({
type:"get",
url : "{:U('FullTime/area')}",
data:{ id : a },
dataType: "json",
success: function(data){
for (var i = ; i < data.length; i++) {
html += "<option value=" + "'" + data[i].area_name + "'" +">"
+ data[i].area_name +" </option>";
}
$(serSelect).html(html);
},
error:function(jqXHR){
alert("发生错误:" + jqXHR.status);
},
});
}else{
alert("上一级不能为空");
}
}
 

地点下来框的实现(php)的更多相关文章

  1. 给老师安排课表JAVA项目及登录窗口的实现

    实现一个安排课表的Java实验. 有以下几点要求: ①用所给的教师姓名进行课表安排 ②用所给的地点进行课表安排 ③不得有重复的课程名称出现 ④将信息写入到文件里 ⑤用窗口来进行实现 package c ...

  2. 课程登记窗口java

    设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...

  3. [CSS]复选框单选框与文字对齐问题的研究与解决.

    前言:今天碰到的这个问题, 恰好找到一个很好的博文, 在这里转载过来 学习下. 原文地址:复选框单选框与文字对齐问题的研究与解决. 目前中文网站上面的文字,就我的个人感觉而言,绝大多数网站的主流文字大 ...

  4. maximo弹框设置新的功能测试总结

    先介绍下弹框前的准备工作: 1.签名选项——定义系统中可授权的所有功能的唯一标识.定义签名选项是为了授权而已.定义的签名名要和相应的bean类中的方法一致. 2.签名选项中的功能实现,一般都在APPB ...

  5. jquery模拟下拉框单选框复选Select,Checkbox,Radio

    在项目中,你会发现设计稿中常常会有单选框,复选框,但都不是系统默认的样式,这就可以用jquery来模拟它们:如图所示,实现它们所需要的代码如下: 首先需要引入的代码: <link rel=&qu ...

  6. datagridview下拉框

    下面介绍Winform中DataGridView的DataGridViewComboBoxColumn的使用方法: //首先获取数据源 //自己建立的静态数据源,你也可以从数据库读取 DataTabl ...

  7. java下拉框,滚动条

    package com.soft.test; /** * 下拉列表.下拉框.滚动条的使用 */ import javax.swing.*; import java.awt.*; public clas ...

  8. checkbox复选框的一些深入研究与理解

    一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌.我是不是应该着眼于眼前的东西,好好的静下心来,超过一般人的沉静与沉浸,研究最基本的东西呢?这番思考,让我找到了一 ...

  9. HTML5 number类型文本框step属性的验证机制——张鑫旭

    我在下一盘很大的棋,本文只是其中的一个棋子. 需要提前知道的: 目前而言,对step雄起的浏览器为IE10+, Chrome以及Opera浏览器. 需要预先知道number类型input的一些基本知识 ...

随机推荐

  1. 面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

    文章每周持续更新,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 单体式应用程序 与微服务相对的另一个概念是传统的单体式应用程序( ...

  2. Java Web项目bug经验202002112049

    运行程序后,如果配置有问题,可能不会进代码,而直接报错.

  3. 解决Python pip安装第三方包慢的问题

    解决Python pip安装第三方包慢的问题 主要是修改源,国内的源有几个 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi ...

  4. 系统警告,Bronya请求支援(两遍最短路)

    系统警告,Bronya请求支援 Description 休伯利安号的一行人来到了由逆熵镇守的前文明遗迹[海渊城],他们准备用巨大的传送装置[海渊之眼]进入量子之海,寻找丢失的渴望宝石.然而在行动前夜爱 ...

  5. 高性能/并发的保证-Netty在Redisson的应用

    前言 ​ Redisson Github: https://github.com/redisson/redisson ​ Redisson 官网:https://redisson.pro/ Redis ...

  6. 配置samba和NFS共享服务

                            配置samba和NFS共享服务 1案例1:配置SMB文件夹共享 1.1问题 本例要求在虚拟机server0上发布两个共享文件夹,具体要求如下: 此服务器 ...

  7. Django常用的第三方包

    Django常用的第三方包 API开发 djangorestframework django-rest-multiple-models django-cors-headers 查询 django-fi ...

  8. python使用阿里云oss-sdk

    python使用阿里云oss-python-sdk 请访问github获取源码 安装 pip install oss2 安装验证 >>> import oss2 >>&g ...

  9. 2015蓝桥杯分机号(C++C组)

    标题:分机号X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如:751,520,321 都满足要求,而,766,918,201 就不符合要求.现 ...

  10. webstorm 永久激活方法

    打开终端,执行: cd /etc/ sudo vim hosts 在最后一行加上: 0.0.0.0 account.jetbrains.com 打开webstorm,选择Activation Code ...