zoukankan      html  css  js  c++  java
  • JS 简单的2级下拉框 大家可以自行扩展

    以前都是用的服务器端的控件,绑定数据很随意,级联也很随意,现在要考虑用客户端控件,突然有点蛋疼,以前没怎么写过,今天认真写一个

    在网上找得例子,再完善一下:嘻嘻

    <script type="text/javascript">
        var cityArr=[];
        cityArr['Shanghai']=[
            {txt:'zhabei',val:'zhabei'},
            {txt:'huangpu',val:'huangpu'},
            {txt:'baoshan',val:'baoshan'},
            {txt:'xuhui',val:'xuhui'},
            {txt:'yangpu',val:'yangpu'},
            {txt:'hongkou',val:'hongkou'}
        ];
       
        cityArr['Jiangsu'] = [
                 {txt:'nanjing', val:'nanjing'},         
                 {txt:'wuxi', val:'wuxi'},        
                 {txt:'xuzhou', val:'xuzhou'},        
                 {txt:'suzhou', val:'suzhou'},        
                 {txt:'nantong', val:'nantong'},        
                 {txt:'huaiyin', val:'huaiyin'},        
                 {txt:'yangzhou', val:'yangzhou'},        
                 {txt:'zhenjiang', val:'zhenjiang'},        
                 {txt:'changzhou', val:'changzhou'}    
        ];
       
        function setCity(province)
        {
            setSelectOption('city',cityArr[province],'-please select-');
        }
       
        function noneSelected(province)
        {
            removeOptionsExcept('city');
        }
        </script>

        <script type="text/javascript">
        function setSelectOption(selectObj,optionList,firstOption,selected)
        {
            if(typeof selectObj!='object')
            { selectObj=document.getElementById(selectObj) };
           
            //Empty the select
            removeOptions(selectObj);
           
            var start=0;
           
            if(firstOption)
            {
                selectObj.options[0]=new Option(firstOption,'');
                start ++;
            }
           
            var len=optionList.length;
           
            for(var i=0;i<len;i++)
            {
                selectObj.options[start]=new Option(optionList[i].txt,optionList[i].val);
               
                if(selected==optionList[i].val)
                {
                    selectObj.options[start].selected=true;
                }
                start ++;
            }
        }
       
        function removeOptions(selectObj)
        {    
            if (typeof selectObj != 'object')    
            {         selectObj = document.getElementById(selectObj);     }
                  // 原有选项计数    
            var len = selectObj.options.length;     
            for (var i=0; i < len; i++)    
            {        
                // 移除当前选项        
                selectObj.options[0] = null;    
            }
        }

        function removeOptionsExcept(selectObj)
        {
            if (typeof selectObj != 'object')    
            {         selectObj = document.getElementById(selectObj);     }
                  // 原有选项计数    
            var len = selectObj.options.length;     
            for (var i=0; i < len; i++)    
            {        
                // 移除当前选项        
                selectObj.options[0] = null;    
            }
           
            selectObj.options[0]=new Option('-please select-','');

        }
        </script>

    <form id="form1" runat="server">
        <div>
        <select id="province" onclick="if(this.value != ''){ setCity(this.options[this.selectedIndex].value);}else{noneSelected(city)}">
        <option value="">-please select-</option>
        <option value="Jiangsu">Jiangsu</option>
        <option value="Shanghai">Shanghai</option>
        </select>
       
        <select id="city">
        <option value="">-please select-</option>
        </select>
        </div>
        </form>

    很简单 3级4级一样搞

  • 相关阅读:
    新版眼保健操图解(转)
    新经理从IBM来
    宝宝六个月零五天,从床上摔下。。。。。
    [转] 教小朋友画画
    宝宝辅食食谱(4、5、6、7个月)
    永远的乔布斯
    北京一场大暴雨,暴出几句经典语
    [转] 想做永久夫妻就要看
    宝宝身高和体重踪迹
    go语言基础之包和自定义包与main包
  • 原文地址:https://www.cnblogs.com/Kiros/p/1895735.html
Copyright © 2011-2022 走看看