jquery操作select

来源:互联网 发布:java常用util工具类 编辑:程序博客网 时间:2024/05/16 12:37
  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() == 0return "下拉框中无选项";    
  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. }