jquery插件 autoComboBox 下拉框


Posted in Javascript onDecember 22, 2010

问: 1.大家在做省市区下拉框联动,或者是产品分类联动,或者是部门联动等下拉框时怎么做? 是用ajaxpro.dll 还是jquery ajax呢??
答: 是,留下继续阅读.
否,跟帖回复你的方法
结论:每次重复劳动 重复创造联动的下拉框, 累,想死!! 读完本文 您也许可以找到更好的方法来实现 无限级(理论) 的联动下拉框,也许只要10秒钟就够了.
就这样,一个自动产生联动下拉框的插件诞生了...
本插件依赖于jquery1.4.2 最低版本自行测试.
废话完毕.
代码:
<div class="zldd-AutoComboBox" id="div_autoComboBox">
</div>

调用方法:

var data= [{ "id": 25, "text": "淮安分公司", "children": [{ "id": 26, "text": "办公室(行政人事培训)"}] }, { "id": 52, "text": "研发部" }, { "id": 53, "text": "财务部"}] 
$("#div_autoComboBox").AutoComboBox({ 
cssClass: "autoComboBox", 
nullDispaly: true, 
//url: "ComboBoxTreeDept_Data.aspx", 
//如果没有使用远程数据 则可以使用本地数据源 使用上面定义的data变量 注:如果url不为空时 优先使用远程数据源 
// ps:只请求一次数据库,数据源将存放在客户端 
data:data, 
firstValue: [true, "==请选择==", "==请选择=="] //是否自动创建第一个值 这个值通常为 请选择 ,不限等 
});

结果: 这样就一个无限级(理论) 的联动下拉框就出来了.. 如果你拷贝一下以上代码,修改一下url参数 10秒钟够了吧??? 注:关于json格式,包括名称,请自行转换,本源码也包含一个只针对本插件转换json的一个dll.
(引用后:
///dataset 数据源
///要显示text
///id,, 你懂的
///父id, 你也懂的
///忽略....
string treeJson = zlddEasyUiHelp.CreateTree.DataSetToTree(ds_department, "Dept_Name", "Dept_ID", "Dept_PId",false);
)
问:我怎么获取用户选择的值.?
答: 一句代码搞定,并支持多个参数重载
$("#div1").ComboBoxGetValue([index],[ErrorFn]); 
//可选参数说明: 
//index,获取第几个下拉框的值,默认最后一个(如果不填写也是获取最后一个值) 
// ErrorFn,获取值时遇到错误 如:假设现在是省市区联动,您要获取第三个下拉框(区),但是用户只选择到了市,这将会获取不到,那么将调用传递进去的方法 
//该回调方法写法如下: 
var ErrorFn = function () { 
alert("错误了"); 
}

看到此处您是否会用了???如果不会,你懂的,回帖....
接下来说下"修改"功能
如:刚才用户选择了自己的 地址, 那么现在用户需要修改,用户刚才选择到了"区",我们要初始化联动下拉框 并且要设置区,市,省的默认值.
很简单: 在上面的代码加一句话(下方红色标注的代码)就会自动初始化带默认值的联动下拉框
例:
$("#div_autoComboBox").AutoComboBox({ 
cssClass: "autoComboBox", 
nullDispaly: true, 
//url: "ComboBoxTreeDept_Data.aspx", 
//如果没有使用远程数据 则可以使用本地数据源 使用上面定义的data变量 注:如果url不为空时 优先使用远程数据源 
// ps:只请求一次数据库,数据源将存放在客户端 
data:data, 
defaultValue: 76, 
firstValue: [true, "==请选择==", "==请选择=="] //是否自动创建第一个值 这个值通常为 请选择 ,不限等 
});

关于"修改"功能的诞生背景,有兴趣的看...
话说本插件是不可以设置默认值的,也就是不能自初始化带默认值的下拉框
但是,由于一个美女诱惑我,说"你要弄出来,我就干嘛嘛",,具体干嘛,各位懂的....
到此介绍完毕
源码下载,/201012/yuanma/AutoComboBoxs.rar(已更新)

(源码只包括插件源码,转换json格式字符串的dll)
2011年1月4日17:12:39更新

版本 v1.1

更新内容

修复部分已知bug(如果子类没有顶级选项如"请选择" 造成第三级无法创建的问题)

增加获取选定项对象的方法

性能的优化

原文: http://www.cnblogs.com/337212522/archive/2010/12/21/1912381.html

Javascript 相关文章推荐
获取JavaScript用户自定义类的类名称的代码
Mar 08 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
Sep 20 Javascript
使用js显示当前时间示例
Mar 02 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
Vue开发中整合axios的文件整理
Apr 29 Javascript
浅谈Vue内置component组件的应用场景
Mar 27 Javascript
Vue.js实现大屏数字滚动翻转效果
Nov 29 Javascript
Openlayers实现地图全屏显示
Sep 28 Javascript
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 24 Javascript
Jquery截取中文字符串的实现代码
Dec 22 #Javascript
jquery里的each使用方法详解
Dec 22 #Javascript
jQuery学习笔记之jQuery的动画
Dec 22 #Javascript
jQuery学习笔记之jQuery的事件
Dec 22 #Javascript
jQuery学习笔记之jQuery的DOM操作
Dec 22 #Javascript
jQuery学习笔记之jQuery选择器的使用
Dec 22 #Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 #Javascript
You might like
自动跳转中英文页面
2006/10/09 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
初中生物教学反思
2014/01/10 职场文书
八年级语文教学反思
2014/02/11 职场文书
松材线虫病防治方案
2014/06/15 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS