JQuery操作Selected
原文链接:http://dev.mjxy.cn/a-JQuery-Operation-Selected.aspx
/* |
002 |
文件名:jquery.liu.select.js |
003 |
功能说明:本js文件为jquery类库的一个插件,主要实现对select的操作. |
004 |
作者:John Liu |
005 |
编写日期:2008/03/12 |
006 |
*/ |
007 |
//得到select项的个数 |
008 |
jQuery.fn.size = function(){ |
009 |
return jQuery(this).get(0).options.length; |
010 |
} |
011 |
|
012 |
//获得选中项的索引 |
013 |
jQuery.fn.getSelectedIndex = function(){ |
014 |
return jQuery(this).get(0).selectedIndex; |
015 |
} |
016 |
|
017 |
//获得当前选中项的文本 |
018 |
jQuery.fn.getSelectedText = function(){ |
019 |
if(this.size() == 0) return "下拉框中无选项"; |
020 |
else{ |
021 |
var index = this.getSelectedIndex(); |
022 |
return jQuery(this).get(0).options[index].text; |
023 |
} |
024 |
} |
025 |
|
026 |
//获得当前选中项的值 |
027 |
jQuery.fn.getSelectedValue = function(){ |
028 |
if(this.size() == 0) |
029 |
return "下拉框中无选中值"; |
030 |
|
031 |
else |
032 |
return jQuery(this).val(); |
033 |
} |
034 |
|
035 |
//设置select中值为value的项为选中 |
036 |
jQuery.fn.setSelectedValue = function(value){ |
037 |
jQuery(this).get(0).value = value; |
038 |
} |
039 |
|
040 |
//设置select中文本为text的第一项被选中 |
041 |
jQuery.fn.setSelectedText = function(text) |
042 |
{ |
043 |
var isExist = false; |
044 |
var count = this.size(); |
045 |
for(var i=0;i<count;i++) |
046 |
{ |
047 |
if(jQuery(this).get(0).options[i].text == text) |
048 |
{ |
049 |
jQuery(this).get(0).options[i].selected = true; |
050 |
isExist = true; |
051 |
break; |
052 |
} |
053 |
} |
054 |
if(!isExist) |
055 |
{ |
056 |
alert("下拉框中不存在该项"); |
057 |
} |
058 |
} |
059 |
//设置选中指定索引项 |
060 |
jQuery.fn.setSelectedIndex = function(index) |
061 |
{ |
062 |
var count = this.size(); |
063 |
if(index >= count || index < 0) |
064 |
{ |
065 |
alert("选中项索引超出范围"); |
066 |
} |
067 |
else |
068 |
{ |
069 |
jQuery(this).get(0).selectedIndex = index; |
070 |
} |
071 |
} |
072 |
//判断select项中是否存在值为value的项 |
073 |
jQuery.fn.isExistItem = function(value) |
074 |
{ |
075 |
var isExist = false; |
076 |
var count = this.size(); |
077 |
for(var i=0;i<count;i++) |
078 |
{ |
079 |
if(jQuery(this).get(0).options[i].value == value) |
080 |
{ |
081 |
isExist = true; |
082 |
break; |
083 |
} |
084 |
} |
085 |
return isExist; |
086 |
} |
087 |
//向select中添加一项,显示内容为text,值为value,如果该项值已存在,则提示 |
088 |
jQuery.fn.addOption = function(text,value) |
089 |
{ |
090 |
if(this.isExistItem(value)) |
091 |
{ |
092 |
alert("待添加项的值已存在"); |
093 |
} |
094 |
else |
095 |
{ |
096 |
jQuery(this).get(0).options.add(new Option(text,value)); |
097 |
} |
098 |
} |
099 |
//删除select中值为value的项,如果该项不存在,则提示 |
100 |
jQuery.fn.removeItem = function(value) |
101 |
{ |
102 |
if(this.isExistItem(value)) |
103 |
{ |
104 |
var count = this.size(); |
105 |
for(var i=0;i<count;i++) |
106 |
{ |
107 |
if(jQuery(this).get(0).options[i].value == value) |
108 |
{ |
109 |
jQuery(this).get(0).remove(i); |
110 |
break; |
111 |
} |
112 |
} |
113 |
} |
114 |
else |
115 |
{ |
116 |
alert("待删除的项不存在!"); |
117 |
} |
118 |
} |
119 |
//删除select中指定索引的项 |
120 |
jQuery.fn.removeIndex = function(index) |
121 |
{ |
122 |
var count = this.size(); |
123 |
if(index >= count || index < 0) |
124 |
{ |
125 |
alert("待删除项索引超出范围"); |
126 |
} |
127 |
else |
128 |
{ |
129 |
jQuery(this).get(0).remove(index); |
130 |
} |
131 |
} |
132 |
//删除select中选定的项 |
133 |
jQuery.fn.removeSelected = function() |
134 |
{ |
135 |
var index = this.getSelectedIndex(); |
136 |
this.removeIndex(index); |
137 |
} |
138 |
//清除select中的所有项 |
139 |
jQuery.fn.clearAll = function() |
140 |
{ |
141 |
jQuery(this).get(0).options.length = 0; |
142 |
} |


浙公网安备 33010602011771号