Jquery操作select(转)

//得到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();

 

posted @ 2012-03-23 17:42  草珊瑚  阅读(1006)  评论(0编辑  收藏  举报