地点下来框的实现(php)
效果图:

样式(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)的更多相关文章
- 给老师安排课表JAVA项目及登录窗口的实现
实现一个安排课表的Java实验. 有以下几点要求: ①用所给的教师姓名进行课表安排 ②用所给的地点进行课表安排 ③不得有重复的课程名称出现 ④将信息写入到文件里 ⑤用窗口来进行实现 package c ...
- 课程登记窗口java
设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...
- [CSS]复选框单选框与文字对齐问题的研究与解决.
前言:今天碰到的这个问题, 恰好找到一个很好的博文, 在这里转载过来 学习下. 原文地址:复选框单选框与文字对齐问题的研究与解决. 目前中文网站上面的文字,就我的个人感觉而言,绝大多数网站的主流文字大 ...
- maximo弹框设置新的功能测试总结
先介绍下弹框前的准备工作: 1.签名选项——定义系统中可授权的所有功能的唯一标识.定义签名选项是为了授权而已.定义的签名名要和相应的bean类中的方法一致. 2.签名选项中的功能实现,一般都在APPB ...
- jquery模拟下拉框单选框复选Select,Checkbox,Radio
在项目中,你会发现设计稿中常常会有单选框,复选框,但都不是系统默认的样式,这就可以用jquery来模拟它们:如图所示,实现它们所需要的代码如下: 首先需要引入的代码: <link rel=&qu ...
- datagridview下拉框
下面介绍Winform中DataGridView的DataGridViewComboBoxColumn的使用方法: //首先获取数据源 //自己建立的静态数据源,你也可以从数据库读取 DataTabl ...
- java下拉框,滚动条
package com.soft.test; /** * 下拉列表.下拉框.滚动条的使用 */ import javax.swing.*; import java.awt.*; public clas ...
- checkbox复选框的一些深入研究与理解
一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌.我是不是应该着眼于眼前的东西,好好的静下心来,超过一般人的沉静与沉浸,研究最基本的东西呢?这番思考,让我找到了一 ...
- HTML5 number类型文本框step属性的验证机制——张鑫旭
我在下一盘很大的棋,本文只是其中的一个棋子. 需要提前知道的: 目前而言,对step雄起的浏览器为IE10+, Chrome以及Opera浏览器. 需要预先知道number类型input的一些基本知识 ...
随机推荐
- SimpleITK 和 Nibabel 读取医学图像 nii 数据(2D显示)
SimpleITK 和 Nibabel 区别在于:(nii图像可以看成2维,也可以看成三维) SimpleITK读取数据是(X,Y,Z)显示,Nibabel读取图像是(Z,Y,X)显示,也就是Niba ...
- [hdu1269]城堡迷宫<tarjan强连通分量>
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 tarjan算法是oi里很常用的一个算法,在理解方面需要多下一些功夫,如果不行直接记模板也行,因 ...
- Vertica的这些事(十三)——Vertica备份元数据信息
---备份资源池 SELECT 'CREATE RESOURCE POOL ' || name || CASE WHEN memorysize IS NULL THEN ' ' ELSE ' MEMO ...
- Docker常用yml
GitLib version: '3.1' services: web: image: 'twang2218/gitlab-ce-zh:11.0.5' restart: always hostname ...
- gitlab问题
1.gitclone前http://10.10.11.4:9999/SZRDC/I`````````.git改为http://git.berchina.com:9999/~~~~``` 2.Cloni ...
- spring05
通过静态工厂的方法创建bean:和实例工厂方法: <?xml version="1.0" encoding="UTF-8"?> <beans ...
- java编写规范
编码规范 转载于:https://www.cnblogs.com/ftl1012/p/javaCode.html 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的 ...
- Tcl编成第二天,set与unset
代码如下: #!/usr/bin/tclsh set value "one" puts $value unset value puts $value set表示创建一个变量第一个参 ...
- matplotlib TransformedPath和TransformedPatchPath
10:42:54 10:42:57 --Edit by yangray TransformedPath 继承于 TransformNode,支持对Path(曲线)执行非仿射变换并保存变换后的拷贝至缓存 ...
- JVM崩溃的原因及解决!
JVM崩溃的原因及解决! 前些天,搞JNI的时候,报了个JVM崩溃的错.错误信息如下: # # An unexpected error has been detected by HotSpot Vir ...