jquery select选中表单特效三级联动
好久没发帖了,今天发一个jquery select的表单三级联动,希望能对有需要的朋友有点帮助。
js代码,当然还要加上jquery的包,应该都有的,这里就不发了。
<script type="text/javascript">
var threeSelectData={ "选择频道":{
val:"",
items:{
"二级子菜单":{
val:"",
items:{
"三级子菜单":""
}
}
}
}, "jquery特效":{
val:"jquery",
items:{
"jquery图片特效":{
val:"jqpic",
items:{
"jquery图片切换":"jqpic-01",
"jquery幻灯片":"jqpic-02",
"jquery图片滚动":"jqpic-03",
"jquery图片放大":"jqpic-04",
"jquery广告":"jqpic-05",
"jquery图片其它":"jqpic-06"
}
}, "jquery导航菜单":{
val:"jqnav",
items:{
"jquery动画菜单":"jqnav-01",
"jquery下拉菜单":"jqnav-02",
"jquery手风琴菜单":"jqnav-03",
"jquery导航其它":"jqnav-04"
}
}, "jquery选项卡特效":{
val:"jqtab",
items:{
"jquery选项卡切换":"jqtab-01",
"jquery滑动选项卡":"jqtab-02"
}
}, "jquery文字特效":{
val:"jqfont",
items:{
"jquery文字滚动":"jqfont-01",
"jquery文字切换":"jqfont-02",
"jquery文字其它":"jqfont-03"
}
}, "jquery表单特效":{
val:"jqform",
items:{
"jquery表单验证":"jqform-01",
"jquery表单美化":"jqform-02",
"jquery表单其它":"jqform-03"
}
}, "jquery滚动条美化":{
val:"jqscroll",
items:{}
}, "jquery评分,进度条,日期时间":{
val:"jqrate",
items:{}
}, "jquery提示框,弹出层,浮动层":{
val:"jqdiv",
items:{}
}, "jquery其它特效":{
val:"jqother",
items:{}
} }
}, "js特效":{
val:"js",
items:{ "js图片特效":{
val:"jspic",
items:{
"js图片切换":"jspic-01",
"js幻灯片":"jspic-02",
"js图片滚动":"jspic-03",
"js图片放大":"jspic-04",
"js广告":"jspic05",
"js图片其它":"jspic-06"
}
}, "js导航菜单":{
val:"jsnav",
items:{
"js动画菜单":"jsnav-01",
"js下拉菜单":"jsnav-02",
"js手风琴菜单":"jsnav-03",
"js导航其它":"jsnav-04"
}
}, "js选项卡特效":{
val:"jstab",
items:{
"js选项卡切换":"jstab-01",
"js滑动选项卡":"jstab-02"
}
}, "js文字特效":{
val:"jsfont",
items:{
"js文字滚动":"jsfont-01",
"js文字切换":"jsfont-02",
"js文字其它":"jsfont-03"
}
}, "js表单特效":{
val:"jsform",
items:{
"js表单验证":"jsform-01",
"js表单美化":"jsform-02",
"js表单其它":"jsform-03"
}
}, "js滚动条美化":{
val:"js-scroll",
items:{}
}, "js评分,进度条,日期时间":{
val:"js-rate",
items:{}
}, "js提示框,弹出层,浮动层":{
val:"js-div",
items:{}
}, "js其它特效":{
val:"js-other",
items:{}
} }
}, "flash特效":{
val:"flash",
items:{ "图片特效":{
val:"flash-pic",
items:{}
}, "导航菜单":{
val:"flash-nav",
items:{}
}, "文字特效":{
val:"flash-font",
items:{}
}, "其它":{
val:"flash-other",
items:{}
} }
}, "div+css教程":{
val:"divcss",
items:{ "div+css布局":{
val:"divcss-layout",
items:{}
}, "div+css菜单":{
val:"divcss-nav",
items:{}
}, "css3教程":{
val:"div-css3",
items:{}
}, "其它":{
val:"divcss-other",
items:{}
} }
}, "html5教程":{
val:"html5",
items:{ "html5特效":{
val:"html5-tx",
items:{}
}, "html5图表":{
val:"html5-map",
items:{}
}, "其它":{
val:"html5-other",
items:{}
} }
} }; var defaults = {
s1:'mainselect',
s2:'midselect',
s3:'backselect'
}; $(function(){
threeSelect(defaults);
}); function threeSelect(config){
var $s1=$("#"+config.s1);
var $s2=$("#"+config.s2);
var $s3=$("#"+config.s3);
var v1=config.v1?config.v1:null;
var v2=config.v2?config.v2:null;
var v3=config.v3?config.v3:null;
$.each(threeSelectData,function(k,v){
appendOptionTo($s1,k,v.val,v1);
}); $s1.change(function(){
$s2.html("");
$s3.html("");
if(this.selectedIndex==-1)
return; var s1_curr_val = this.options[this.selectedIndex].value; $.each(threeSelectData,function(k,v){
if(s1_curr_val==v.val){
if(v.items){
$.each(v.items,function(k,v){
appendOptionTo($s2,k,v.val,v2);
});
}
}
}); if($s2[0].options.length==0){
appendOptionTo($s2,"...","",v2);
} $s2.change(); }).change(); $s2.change(function(){
$s3.html("");
var s1_curr_val = $s1[0].options[$s1[0].selectedIndex].value;
if(this.selectedIndex==-1)
return; var s2_curr_val = this.options[this.selectedIndex].value; $.each(threeSelectData,function(k,v){
if(s1_curr_val==v.val){
if(v.items){
$.each(v.items,function(k,v){
if(s2_curr_val==v.val){
$.each(v.items,function(k,v){
appendOptionTo($s3.show(),k,v,v3);
});
}
}); if($s3[0].options.length==0){
appendOptionTo($s3.hide(),"...","",v3);
}
}
}
}); }).change(); function appendOptionTo($o,k,v,d){ var $opt=$("<option>").text(k).val(v); if(v==d){
$opt.attr("selected", "selected")
}
$opt.appendTo($o);
} }
</script>
html代码很简单:
<select id="mainselect" name="mainselect" style="width:120px;"></select>
<select id="midselect" name="midselect" style="width:220px;"></select>
<select id="backselect" name="backselect" style="width:160px;"></select>
jquery select选中表单特效三级联动的更多相关文章
- 基于jQuery+JSON的省市县 二级 三级 联动效果
省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉 ...
- 用jquery写的json省市县三级联动下拉
<form action="#" name="myform"> <label>省</label><select nam ...
- javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)
在web中,实现三级联动很常见,尤其是利用jquery+json.但是从根本上来说jquery并不是最能让人容易理解的,接下来从最基本的javascript开始,实现由javascript+json+ ...
- django项目中cxselect三级联动
下载cxselect插件放在static文件夹下 前端引入 <script src="/static/js/jQuery-1.8.2.min.js"></scri ...
- AngularJS系列:表单全解(表单验证,radio必选,三级联动,check绑定,form提交验证)
一.查看$scope -->寻找Form控制变量的位置 Form控制变量 格式:form的name属性.input的name属性.$... formName.inputField.$pristi ...
- jQuery实现select三级联动
参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...
- 简单jquery实现select三级联动
简单的jquery实现select三级联动 代码如下: <!DOCTYPE html> <html> <head> <meta charset="u ...
- Jquery select 三级联动 (需要JSON数据)
Scripts/Category.js //Jquery三级类别联动 $(function () { BindCategory(); }) function BindCategory() { var ...
- ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动
一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...
随机推荐
- iOS开发-UIScrollView原理
UIScrollView在开发中是不可避免,关于UIScrollView都有自己一定的理解.滚动视图有两个需要理解的属性,frame和bounds,frame是定义了视图在窗口的大小和位置,bound ...
- 重新签名IPA ( iPhone )
提示:暂时不能用了,企业证书滥用 ios 企业证书 ipa 重新签名发布 1. 应用场景 当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的:我们需要用企业版证书签名: 当前 ...
- 使用Alcatraz来管理Xcode插件
Alcatraz 是一个帮你管理 Xcode 插件.模版以及颜色配置的工具.它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样. 安装和删除 使用如下的命令行来 ...
- css伪元素选择器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Javascript入门学习
编程之道,程序员不仅仅要精通一门语言,而是要多学习几门. 本学习之源出自柠檬学院http://www.bjlemon.com/,特此声明. 第一课1:javascript的主要特点解释型:不需要编译, ...
- 移动页面HTML5自适应手机屏幕宽度
标签: 网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方. 1.使用meta标签,这也是普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的, ...
- c++ const放置的位置
标准中int const a 与 const int a 是完全等价的.正因为如此,会有很多各种不同的风格,同样的还有"*是跟类型还是变量?",比如char* p与 char *p ...
- Marza Gift for GDC 2016
这个帖子还是用中文写了,主要是面向国内. 这是一个趋势,就是基于UE.Unity这些日趋完善的游戏引擎以及编辑器制作便宜的3D动画.国内有<超黑学院>这种为代表,还有其他许多国漫,勉强能耐 ...
- Spark使用总结与分享
背景 使用spark开发已有几个月.相比于python/hive,scala/spark学习门槛较高.尤其记得刚开时,举步维艰,进展十分缓慢.不过谢天谢地,这段苦涩(bi)的日子过去了.忆苦思甜,为了 ...
- “粪便银行”:救人拿钱两不误 A Poop Bank in Massachusetts Will Pay You $40 Every Day
“粪便银行”:救人拿钱两不误 如果你年龄小于50岁,排便规律,而且愿意每天去美国麻省麦德福德跑一趟,那么没准你可以每天得到40美元的外快,而你需要做的事情只是生产便便. 要想得到这笔收入,请拜访“开放 ...