AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;
js做日期选择:
实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> <select id="nian" onclick="biantian()"></select>年
<select id="yue" onclick="biantian()"></select>月
<select id="tian"></select>日 <script type="text/javascript">
FillNian();
FillYue();
FillTian();
function FillNian()
{
var b = new Date(); //获取当前时间
var nian = parseInt(b.getFullYear()); //把年份强制转换为整型 var str = ""; for(var i=nian-5;i<nian+6;i++)
{
str = str+"<option value='"+i+"'>"+i+"</option>";//添加<option>标签
} document.getElementById("nian").innerHTML = str; } function FillYue()
{
var str = "";
for(var i=1;i<13;i++)
{
str = str+"<option value='"+i+"'>"+i+"</option>";
}
document.getElementById("yue").innerHTML = str;
} function FillTian()
{
var yue = document.getElementById("yue").value;
var nian = document.getElementById("nian").value;
var ts = 31; if(yue==4 || yue==6 || yue==9 || yue==11) //判断月份
{
ts=30;
} if(yue==2) //如果是2月的话,里面要判断是不是闰年
{
if((nian%4==0 && nian%100 != 0) || nian%400==0)
{
ts = 29;
}
else
{
ts = 28;
}
} var str = "";
for(var i=1;i<ts+1;i++)
{
str = str+"<option value='"+i+"'>"+i+"</option>";
}
document.getElementById("tian").innerHTML = str; } function biantian()
{
FillTian();
}
</script>
</body>
ajax做三级联动:
当dataType:"text"时,返回的数据是这样的,所以下面的split根据“|”和“^”来分割

1.主页面做一个div,存储三个下拉列表,并引入jquery和js
<script src="jquery-1.11.2.min.js"></script>
<script src="sanjiliandong.js"></script>
</head> <body>
<div id="sanji"></div>
</body>
2.做一个纯js页面
// JavaScript Document
$(document).ready(function(e) {
//往页面id=sanji的div里面放三个下拉列表
var str="<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";
$("#sanji").html(str); fillsheng(); //页面加载完,自动执行三个方法
fillshi();
fillqu(); $("#sheng").change(function(){ //当id=sheng的div改变时,触发市和区的方法 fillshi();
fillqu();
});
$("#shi").change(function(){ //当id=shi的div改变时,触发区的方法 fillqu();
}); //造一个填充省的方法
function fillsheng()
{
pcode="0001"; //数据库中省份的parentareacode都是0001 $.ajax({
async:false, //因为要同时执行下边函数,所以这里要设置为同步。
url:"sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"text",
success:function(data){ var hang=data.split("|"); //hang是二维数组
var str="";
for(var i=0;i<hang.length;i++)
{
var lie=hang[i].split("^");
str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
}
$("#sheng").html(str); }
});
} //添加一个市的方法
function fillshi()
{
pcode=$("#sheng").val(); //代号取上一级的value值
$.ajax({
async:false, //为了下边的区能执行,这里要设置为同步
url:"sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"text",
success: function(data)
{
var hang=data.split("|");
var str="";
for(var i=0;i<hang.length;i++)
{
var lie=hang[i].split("^");
str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
}
$("#shi").html(str);
} }); } //添加一个区方法
function fillqu()
{
pcode=$("#shi").val(); $.ajax({ url:"sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"text",
success:function(data)
{
var hang=data.split("|");
var str="";
for(var i=0;i<hang.length;i++)
{
var lie=hang[i].split("^");
str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
}
$("#qu").html(str);
}
}); }
});
3.做一个处理页面
<?php
$pcode=$_POST['pcode'];
include("DBDA.class.php");
$db=new DBDA();
$sql="select * from chinastates where parentareacode='{$pcode}'";
echo $db->StrQuery($sql);
AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;的更多相关文章
- [原] XAF 添加日期筛选下拉选择
1.ListView 添加日期筛选下拉选择,选择指定,可指定日期范围 2.Code using DevExpress.Data.Filtering; using DevExpress.ExpressA ...
- js&jquery 获取select下拉框的值、文本内容、自定义属性
js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...
- 模块:(日期选择)jquery、bootstrap实现日期下拉选择+bootstrap jquery UI自带动画的日期选择器
一:jquery.bootstrap实现日期下拉选择 点击文本框弹出窗口 弹窗显示日期时间选择下拉 年份取当前年份的前后各5年 天数随年份和月份的变化而变化 点击保存,文本框中显示选中的日期 代码部分 ...
- 原生js实现一个自定义下拉单选选择框
浏览器自带的原生下拉框不太美观,而且各个浏览器表现也不一致,UI一般给的下拉框也是和原生的下拉框差别比较大的,这就需要自己写一个基本功能的下拉菜单/下拉选择框了.最近,把项目中用到的下拉框组件重新封装 ...
- css配合js模拟的select下拉框
css配合js模拟的select下拉框 <!doctype html> <html> <head> <meta charset="utf-8&quo ...
- jquery.chosen.js下拉选择框美化插件项目实例
由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- openerp模块收藏 移除下拉选择列表中的“创建并编辑”链接(转载)
移除下拉选择列表中的“创建并编辑”链接 原文:http://shine-it.net/index.php/topic,5990.0.html 有时希望下拉列表中列出的项是与主表某个字段关联的,用户只能 ...
- selenium的下拉选择框
今天总结下selenium的下拉选择框.我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框. 后者我们通常的处理方式与其他的元素类似,点击或使用J ...
随机推荐
- MySQL数据库优化的八种方式(经典必看)
引言: 关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂 偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人 ...
- windows下开启mysql远程访问
USE mysql;SELECT * FROM USER ; 直接修改user=root host=127.0.0.1为% FLUSH PRIVILEGES;
- thinkphp分页搜索条件带中文参数
/** * 中文处理 * @param type $str * @return str * $author lxh */ function url2word($str){ $sub=strpos($s ...
- hasOwnProperty,in
hasOwnProperty,in区别: hasOwnProperty:指出一个对象是否具有指定名称的属性 in:对象是否能够访问此属性(包括直接在对象上访问和通过原型访问) 看下示例代码: (fun ...
- js高级程序设计(七)函数表达式
定义函数的方式有两种:一种是函数声明,另一种就是函数表达式.函数声明的语法是这样的. function functionName(arg0, arg1, arg2) { //函数体 } Firefox ...
- Mac下安装Node.js
今天介绍一下Mac下Node.js的下载安装方法,后面我们安装Bootstrap.Angurlar和jQuery等都是通过Node.js的npm方式的. 1.在必应中搜索“node.js mac”,第 ...
- oracle job create table insert into
create or replace procedure proc_tzyj is begin insert into t_trade_activity@dw3_link.regress.rdbms.d ...
- mysql 数据导出 常用总结
mysqldump -t 数据库名 -uroot -p > xxx.sql 总结:上面的导出形式默认表结构和数据: -d表结构; -t数据; -c, --complete-insert使用完 ...
- nginx全局变量实例对照 rewrite参考手册
http://dwz.stamhe.com/index.php?_a=index&_m=show&count=10 remote_addr 客户端ip,如:192.168.4.2 bi ...
- PHP基础示例:用PHP+Mysql编写简易新闻管理系统[转]
实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...