jQuery select控制插件


Posted in Javascript onAugust 17, 2009

和大家分享一下代码:
JavaScript代码

//得到select项的个数 
jQuery.fn.size = function() 
{ 
return jQuery(this).get(0).options.length; 
} 
//获得选中项的索引 
jQuery.fn.getSelectedIndex = function() 
{ 
return jQuery(this).get(0).selectedIndex; 
} 
//获得当前选中项的文本 
jQuery.fn.getSelectedText = function() 
{ 
if(this.size() == 0) 
{ 
return "下拉框中无选项"; 
} 
else 
{ 
var index = this.getSelectedIndex(); 
return jQuery(this).get(0).options[index].text; 
} 
} 
//获得当前选中项的值 
jQuery.fn.getSelectedValue = function() 
{ 
if(this.size() == 0) 
{ 
return "下拉框中无选中值"; 
} 
else 
{ 
return jQuery(this).val(); 
} 
} 
//设置select中值为value的项为选中 
jQuery.fn.setSelectedValue = function(value) 
{ 
jQuery(this).get(0).value = value; 
} 
//设置select中文本为text的第一项被选中 
jQuery.fn.setSelectedText = function(text) 
{ 
var isExist = false; 
var count = this.size(); 
for(var i=0;i<count;i++) 
{ 
if(jQuery(this).get(0).options[i].text == text) 
{ 
jQuery(this).get(0).options[i].selected = true; 
isExist = true; 
break; 
} 
} 
if(!isExist) 
{ 
alert("下拉框中不存在该项"); 
} 
} 
//设置选中指定索引项 
jQuery.fn.setSelectedIndex = function(index) 
{ 
var count = this.size(); 
if(index >= count || index < 0) 
{ 
alert("选中项索引超出范围"); 
} 
else 
{ 
jQuery(this).get(0).selectedIndex = index; 
} 
} 
//判断select项中是否存在值为value的项 
jQuery.fn.isExistItem = function(value) 
{ 
var isExist = false; 
var count = this.size(); 
for(var i=0;i<count;i++) 
{ 
if(jQuery(this).get(0).options[i].value == value) 
{ 
isExist = true; 
break; 
} 
} 
return isExist; 
} 
//向select中添加一项,显示内容为text,值为value,如果该项值已存在,则提示 
jQuery.fn.addOption = function(text,value) 
{ 
if(this.isExistItem(value)) 
{ 
alert("待添加项的值已存在"); 
} 
else 
{ 
jQuery(this).get(0).options.add(new Option(text,value)); 
} 
} 
//删除select中值为value的项,如果该项不存在,则提示 
jQuery.fn.removeItem = function(value) 
{ 
if(this.isExistItem(value)) 
{ 
var count = this.size(); 
for(var i=0;i<count;i++) 
{ 
if(jQuery(this).get(0).options[i].value == value) 
{ 
jQuery(this).get(0).remove(i); 
break; 
} 
} 
} 
else 
{ 
alert("待删除的项不存在!"); 
} 
} 
//删除select中指定索引的项 
jQuery.fn.removeIndex = function(index) 
{ 
var count = this.size(); 
if(index >= count || index < 0) 
{ 
alert("待删除项索引超出范围"); 
} 
else 
{ 
jQuery(this).get(0).remove(index); 
} 
} 
//删除select中选定的项 
jQuery.fn.removeSelected = function() 
{ 
var index = this.getSelectedIndex(); 
this.removeIndex(index); 
} 
//清除select中的所有项 
jQuery.fn.clearAll = function() 
{ 
jQuery(this).get(0).options.length = 0; 
}

使用的时候先引入jquery.js文件,再引入jquery.liu.select.js文件,然后就可调用该插件的方法。比如,我要清除id为selEmail的下拉框中的所有项,那么我就可以这么操作:$("#selEmail").clearAll();
说明:该插件中的方法在ie7和firefox中验证通过,有错误和需要改进的地方还希望大家批评指正。
Javascript 相关文章推荐
用jquery来定位
Feb 20 Javascript
JavaScript作用域与作用域链深入解析
Dec 06 Javascript
JavaScript DOM操作表格及样式
Apr 13 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
快速入门Vue
Dec 19 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
Dec 21 Javascript
对angularJs中2种自定义服务的实例讲解
Sep 30 Javascript
微信小程序API—获取定位的详解
Apr 30 Javascript
Vue3.0结合bootstrap创建多页面应用
May 28 Javascript
详细教你微信公众号正文页SVG交互开发技巧
Jul 25 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
javascript 无提示关闭窗口脚本
Aug 17 #Javascript
javascript addBookmark 加入收藏 多浏览器兼容
Aug 15 #Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 #Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 #Javascript
js中的window.open返回object的错误的解决方法
Aug 15 #Javascript
JavaScript 提升运行速度之循环篇 译文
Aug 15 #Javascript
jQuery ui 1.7更新小结
Aug 15 #Javascript
You might like
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
PHP 数字左侧自动补0
2008/03/31 PHP
PHP 表单提交给自己
2008/07/24 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
python opencv摄像头的简单应用
2019/06/06 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
眼镜促销方案
2014/03/15 职场文书
指导教师评语
2014/04/26 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
合理化建议书
2015/02/04 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
python 对图片进行简单的处理
2021/06/23 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python