1.//得到select项的个数
2.jQuery.fn.size = function(){
3. return jQuery(this).get(0).options.length;
4.}
5.
6.//获得选中项的索引
7.jQuery.fn.getSelectedIndex = function(){
8. return jQuery(this).get(0).selectedIndex;
9.}
10.
11.//获得当前选中项的文本
12.jQuery.fn.getSelectedText = function(){
13. if(this.size() == 0) return "下拉框中无选项";
14. else{
15. var index = this.getSelectedIndex();
16. return jQuery(this).get(0).options[index].text;
17. }
18.}
19.
20.//获得当前选中项的值
21.jQuery.fn.getSelectedValue = function(){
22. if(this.size() == 0)
23. return "下拉框中无选中值";
24.
25. else
26. return jQuery(this).val();
27.}
28.
29.//设置select中值为value的项为选中
30.jQuery.fn.setSelectedValue = function(value){
31. jQuery(this).get(0).value = value;
32.}
33.
34.//设置select中文本为text的第一项被选中
35.jQuery.fn.setSelectedText = function(text)
36.{
37. var isExist = false;
38. var count = this.size();
39. for(var i=0;i<count;i++)
40. {
41. if(jQuery(this).get(0).options[i].text == text)
42. {
43. jQuery(this).get(0).options[i].selected = true;
44. isExist = true;
45. break;
46. }
47. }
48. if(!isExist)
49. {
50. alert("下拉框中不存在该项");
51. }
52.}
53.//设置选中指定索引项
54.jQuery.fn.setSelectedIndex = function(index)
55.{
56. var count = this.size();
57. if(index >= count || index < 0)
58. {
59. alert("选中项索引超出范围");
60. }
61. else
62. {
63. jQuery(this).get(0).selectedIndex = index;
64. }
65.}
66.//判断select项中是否存在值为value的项
67.jQuery.fn.isExistItem = function(value)
68.{
69. var isExist = false;
70. var count = this.size();
71. for(var i=0;i<count;i++)
72. {
73. if(jQuery(this).get(0).options[i].value == value)
74. {
75. isExist = true;
76. break;
77. }
78. }
79. return isExist;
80.}
81.//向select中添加一项,显示内容为text,值为value,如果该项值已存在,则提示
82.jQuery.fn.addOption = function(text,value)
83.{
84. if(this.isExistItem(value))
85. {
86. alert("待添加项的值已存在");
87. }
88. else
89. {
90. jQuery(this).get(0).options.add(new Option(text,value));
91. }
92.}
93.//删除select中值为value的项,如果该项不存在,则提示
94.jQuery.fn.removeItem = function(value)
95.{
96. if(this.isExistItem(value))
97. {
98. var count = this.size();
99. for(var i=0;i<count;i++)
100. {
101. if(jQuery(this).get(0).options[i].value == value)
102. {
103. jQuery(this).get(0).remove(i);
104. break;
105. }
106. }
107. }
108. else
109. {
110. alert("待删除的项不存在!");
111. }
112.}
113.//删除select中指定索引的项
114.jQuery.fn.removeIndex = function(index)
115.{
116. var count = this.size();
117. if(index >= count || index < 0)
118. {
119. alert("待删除项索引超出范围");
120. }
121. else
122. {
123. jQuery(this).get(0).remove(index);
124. }
125.}
126.//删除select中选定的项
127.jQuery.fn.removeSelected = function()
128.{
129. var index = this.getSelectedIndex();
130. this.removeIndex(index);
131.}
132.//清除select中的所有项
133.jQuery.fn.clearAll = function()
134.{
135. jQuery(this).get(0).options.length = 0;
136.}

2016/08/18 select的更多相关文章

  1. [2016.08.09]文本替换专家 v5.2

    软件名称:文本替换专家最新版本:v5.2软件授权:共享软件发布日期:2016.01.18文件大小:650KB操作系统:XP/2003/Win7/Win2008开发人员:胡洪祥版权所有:胡洪祥

  2. http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/

    http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%9 ...

  3. github javascript相关项目star数排行榜(前30,截止2016.11.18):

    github javascript相关项目star数排行榜(前30,截止2016.11.18): 前端开源框架 TOP 100 前端 TOP 100:::::https://www.awesomes. ...

  4. 2016.8.18上午纪中初中部NOIP普及组比赛

    2016.8.18上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1336 翻!车!啦!好吧,那是因为大神归来. 进度: 比赛:AC ...

  5. 最新版Theos.2016.08的安装方法

    http://bbs.pediy.com/showthread.php?t=212425 标题: [翻译]手把手安装最新版Theos.2016.08作者: roysue时间: 2016-08-26,1 ...

  6. JpGraph使用详解http://5ydycm.blog.51cto.com/115934/177498 http://www.cnblogs.com/txw1958/archive/2013/08/18/php-charts.html

    下载 在官方网站 http://www.aditus.nu/jpgraph/ 下载jpgraph,其中1.X系列是用于PHP4的,2.X系列是用于PHP5的. 安装 将下载的得到的jpgraph压缩文 ...

  7. 2016 08 27 印刷菜单增加sql语句

    insert into `module` (`ID`, `CONSONANTCODE`, `CREATEDATE`, `DESCRIPTION`, `HANDLER`, `HASCHILD`, `IC ...

  8. 2016.08.13/2/index/_d_Lucene54_0.dvm: Too many open files

    er[file_system_exception: /elk/elasticsearch/data/es_cluster/nodes/0/indices/logstash-zjzc-frontend- ...

  9. 2018.08.18 NOIP模拟 game(数位dp)

    Game 题目背景 SOURCE:NOIP2015-SHY4 题目描述 Alice 和 Bob 正在玩一个游戏,两个人从 1 轮流开始报数,如果遇到 7 的倍数或者遇到的这个数的十进制表示中含 7 , ...

随机推荐

  1. bzoj 1038 瞭望塔 半平面交+分段函数

    题目大意 给你一座山,山的形状在二维平面上为折线 给出\((x_1,y_1),(x_2,y_2)...(x_n,y_n)\)表示山的边界点或转折点 现在要在\([x_1,x_n]\)(闭区间)中选择一 ...

  2. Mysql之Handler_read%

    纯属自己理解,如有误导概不负责O(∩_∩)O 加索引: mysql> flush status; Query OK, rows affected (0.00 sec) mysql> flu ...

  3. vue2 如何通过router传递参数

    当需要router-link传递参数的时候 vue2 如何做 记录下来备忘 1.通过vue页面传递参数 <router-link :to="{ path:'./attachment', ...

  4. select、poll和epoll的区别(转载)

    select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select ...

  5. Laravel 基础知识

    使用版本Laravel5.1.======================================================目录简单介绍:app目录,核心目录,应用目录.bootstra ...

  6. TopCoder SRM596 DIV2 1000: SparseFactorialDiv2

    题意: For an integer n, let F(n) = (n - 0^2) * (n - 1^2) * (n - 2^2) * (n - 3^2) * ... * (n - k^2), wh ...

  7. react状态

    组件的生命周期分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM React 为每个状态都提供了两种处理函数,will 函 ...

  8. 问题:Linux 输入任何命令都显示 -bash: fork: Cannot allocate memory

    应该是某个程序吃掉了所有的内存,只能重启

  9. HDU 4587 TWO NODES 枚举+割点

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 TWO NODES Time Limit: 24000/12000 MS (Java/Other ...

  10. Android图片加载神器之Fresco,基于各种使用场景的讲解

    Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库. 优点:相对于其他开源的第三方图片加载库,Fresco拥有更好的内存管理 ...