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 powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
JavaScript判断用户是否对表单进行了修改的方法
Mar 18 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
jQuery图片切换动画效果
Feb 28 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
微信小程序实现天气预报功能
Jul 18 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 Javascript
Angular如何由模板生成DOM树的方法
Dec 23 Javascript
vue实现给div绑定keyup的enter事件
Jul 31 Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 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
android上传图片到PHP的过程详解
2015/08/03 PHP
Yii2创建多界面主题(Theme)的方法
2016/10/08 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
javascript 获取网页标题代码实例
2014/01/22 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
使用pip安装python库的多种方式
2019/07/31 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
通过代码实例了解Python sys模块
2020/09/14 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
群众路线批评与自我批评
2014/02/06 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
离婚律师函范本
2015/05/27 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
python四种出行路线规划的实现
2021/06/23 Python
如何用Python搭建gRPC服务
2021/06/30 Python
用JS写一个发布订阅模式
2021/11/07 Javascript