效果图:

样式(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. openssl与java(读取加密码的密钥)

    最近在研究java security方面的东西,java自带可以使用各种加密解密算法(rsa,dsa,des3,aes,md5...),但往往一些密钥是第三方给我们的,我们需要用java装载这些密钥然 ...

  2. Netty耗时的业务逻辑应该写在哪儿,有什么注意事项?

    更多技术分享可关注我 前言 Netty以高性能著称,但是在实际使用中,不可避免会遇到耗时的业务逻辑,那么这些耗时操作应该写在哪儿呢,有什么注意的坑吗?本篇文章将一一总结. Netty线程调度模型回顾 ...

  3. ScheduledThreadPoolExecutor之remove方法

    之前用定时任务的线程池,设置了个任务,但是突然今天产品说,某些个操作需要中断某些任务(如果任务还没有执行),使其不能再到点执行了.于是查了API果然有这样一个方法. 一看API,需要移除的是一个Run ...

  4. 【Python3爬虫】反反爬之破解同程旅游加密参数 antitoken

    一.前言简介 在现在各个网站使用的反爬措施中,使用 JavaScript 加密算是很常用的了,通常会使用 JavaScript 加密某个参数,例如 token 或者 sign.在这次的例子中,就采取了 ...

  5. 八、【Docker笔记】使用Dockerfile创建镜像

    在前面我们讲解了基于已有的镜像容器创建和基于本地模板导入两种方式来创建镜像,在这里我们就来说说第三种创建镜像的方式.Dockerfile是一个文本格式的配置文件,我们可以通过Dockerfile快速创 ...

  6. 【PHP】函数

    一.      数学中的函数: a)    sin().cos().tan().log() 这些都是数学函数,但是都已经忘了啥意思了!没关系,在php当中的函数和这些函数的概念还是有一定的区别的 二. ...

  7. 使用 python 查看谁没有交作业

    话说实验报告每天都要查人数,何不用程序实现 使用 python 查看谁没有交作业 version 1.0 程序嘛,肯定是可以改进的.使用该程序的前提是实验报告文件名中包含学号信息.将以上程序放在实验报 ...

  8. python爬虫两个影院的实例

    主要两个的python代码如下: import requests from bs4 import BeautifulSoup url = 'https://www.17k.com/' headers ...

  9. python部署-Flask+uwsgi+Nginx

    一.Flask部分(app.py) flask即Python代码:部分参考代码如下,相信很多人如果看到这篇文章一定有flask的代码能力. from app import create_app fro ...

  10. MySQL学习之路6-数据表连接方式

    内连接 关键字: inner join  on 语句:select * from <a_table> inner join <b_table> on a.id = b.id ; ...