分享

jquery操作select

 WindySky 2011-08-21
  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;     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约