`
viproc
  • 浏览: 44662 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Jquery操作select

阅读更多

最近使用JQuery来编写前端js脚本,涉及到依据下拉框的值确定其他下拉框中数据项。需要实现对下拉框中候选项的添加删除等,使用js写的话简直会死人的。还好使用JQuery。以下是操作 下拉列表的常用功能:

1.获取列表项中候选项的数目。

2.获得选中项的索引值。

3.获得当前选中项的值

4.设定选择值

5.设定选择项

 

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics