Jquery操作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 }
全文见:http://www.x1wr.com/?p=28
jQuery获取客户端控件select
一、 获取select中选择的text与value相关的值
获取select选择的Text : var checkText=$("#slc1").find("option:selected").text();
获取select选择的value:var checkValue=$("#slc1").val();
获取select选择的索引值: var checkIndex=$("#slc1 ").get(0).selectedIndex;
获取select最大的索引值: var maxIndex=$("#slc1 option:last").attr("index");
二、 设置select选择的Text和Value
设置select索引值为1的项选中:$("#slc1 ").get(0).selectedIndex=1;
设置select的value值为4的项选中: $("#slc1 ").val(4);
设置select的Text值为JQuery的选中:
$("#slc1 option[text='jQuery']").attr("selected", true);
PS:特别要注意一下第三项的使用哦。看看JQuery的选择器功能是如此地强大呀!
三、 添加删除option项
为select追加一个Option(下拉项)
$("#slc2").append("<option value='"+i+"'>"+i+"</option>");
为select插入一个option(第一个位置)
$("#slc2").prepend("<option value='0'>请选择</option>");
PS: prepend 这是向所有匹配元素内部的开始处插入内容的最佳方式。
删除select中索引值最大option(最后一个)
$("#slc2 option:last").remove();
删除select中索引值为0的option(第一个)
$("#slc2 option[index='0']").remove();
删除select中value=’3’的option
$("#slc2 option[value='3']").remove();
删除select中text=’4’的option
$("#slc2 option[text='3']").remove();
合乎自然而生生不息。。。