zoukankan      html  css  js  c++  java
  • 写了个操作select的jquery插件【转】

    文件名:jquery.liu.select.js
    功能说明:本js文件为jquery类库的一个插件,主要实现对select的操作.
    作者:John Liu
    编写日期:2008/03/12
    */
    //得到select项的个数
    jQuery.fn.size = function()
    {
        
    return jQuery(this).get(0).options.length;
    }

    //获得选中项的索引
    jQuery.fn.getSelectedIndex = function()
    {
        
    return jQuery(this).get(0).selectedIndex;
    }

    //获得当前选中项的文本
    jQuery.fn.getSelectedText = function()
    {
        
    if(this.size() == 0)
        
    {
            
    return "下拉框中无选项";
        }

        
    else
        
    {
            
    var index = this.getSelectedIndex();      
            
    return jQuery(this).get(0).options[index].text;
        }

    }

    //获得当前选中项的值
    jQuery.fn.getSelectedValue = function()
    {    
        
    if(this.size() == 0)
        
    {
            
    return "下拉框中无选中值";
        }

        
    else
        
    {
            
    return jQuery(this).val();
        }

    }

    //设置select中值为value的项为选中
    jQuery.fn.setSelectedValue = function(value)
    {
        jQuery(
    this).get(0).value = value;
    }

    //设置select中文本为text的第一项被选中
    jQuery.fn.setSelectedText = function(text)
    {
        
    var isExist = false;
        
    var count = this.size();
        
    for(var i=0;i<count;i++)
        
    {
            
    if(jQuery(this).get(0).options[i].text == text)
            
    {
                jQuery(
    this).get(0).options[i].selected = true;
                isExist 
    = true;
                
    break;
            }

        }

        
    if(!isExist)
        
    {
            alert(
    "下拉框中不存在该项");
        }

    }

    //设置选中指定索引项
    jQuery.fn.setSelectedIndex = function(index)
    {
        
    var count = this.size();    
        
    if(index >= count || index < 0)
        
    {
            alert(
    "选中项索引超出范围");
        }

        
    else
        
    {
            jQuery(
    this).get(0).selectedIndex = index;
        }

    }

    //判断select项中是否存在值为value的项
    jQuery.fn.isExistItem = function(value)
    {
        
    var isExist = false;
        
    var count = this.size();
        
    for(var i=0;i<count;i++)
        
    {
            
    if(jQuery(this).get(0).options[i].value == value)
            
    {
                isExist 
    = true;
                
    break;
            }

        }

        
    return isExist;
    }

    //向select中添加一项,显示内容为text,值为value,如果该项值已存在,则提示
    jQuery.fn.addOption = function(text,value)
    {
        
    if(this.isExistItem(value))
        
    {
            alert(
    "待添加项的值已存在");
        }

        
    else
        
    {
            jQuery(
    this).get(0).options.add(new Option(text,value));
        }

    }

    //删除select中值为value的项,如果该项不存在,则提示
    jQuery.fn.removeItem = function(value)
    {    
        
    if(this.isExistItem(value))
        
    {
            
    var count = this.size();        
            
    for(var i=0;i<count;i++)
            
    {
                
    if(jQuery(this).get(0).options[i].value == value)
                
    {
                    jQuery(
    this).get(0).remove(i);
                    
    break;
                }

            }
            
        }

        
    else
        
    {
            alert(
    "待删除的项不存在!");
        }

    }

    //删除select中指定索引的项
    jQuery.fn.removeIndex = function(index)
    {
        
    var count = this.size();
        
    if(index >= count || index < 0)
        
    {
            alert(
    "待删除项索引超出范围");
        }

        
    else
        
    {
            jQuery(
    this).get(0).remove(index);
        }

    }

    //删除select中选定的项
    jQuery.fn.removeSelected = function()
    {
        
    var index = this.getSelectedIndex();
        
    this.removeIndex(index);
    }

    //清除select中的所有项
    jQuery.fn.clearAll = function()
    {
        jQuery(
    this).get(0).options.length = 0;
    }
        使用的时候先引入jquery.js文件,再引入jquery.liu.select.js文件,然后就可调用该插件的方法。比如,我要清除id为selEmail的下拉框中的所有项,那么我就可以这么操作:$("#selEmail").clearAll();
       说明:该插件中的方法在ie7和firefox中验证通过,有错误和需要改进的地方还希望大家批评指正。
  • 相关阅读:
    虚拟机virtualBox
    在scala命令行中加入类库
    使用git submodule
    Julia1.x安装
    texshop 使用技巧
    vimdiff换行
    双系统磁盘挂载失败
    www.wolframalpha.com
    sublime3激活方法
    实验数据
  • 原文地址:https://www.cnblogs.com/cxd4321/p/1574750.html
Copyright © 2011-2022 走看看