js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果

字號(hào):


    這篇文章主要介紹了js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果,涉及JavaScript針對(duì)頁(yè)面元素的遍歷與節(jié)點(diǎn)操作相關(guān)技巧,需要的朋友可以參考下
    本文實(shí)例講述了js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果。分享給大家供大家參考,具體如下:
    <script language="JavaScript" type="text/javascript">
    <!--
    /*
     * 說(shuō)明:將指定下拉列表的選項(xiàng)值清空
     * 轉(zhuǎn)自:Gdong Elvis ( http://www.gdcool.net )
     *
     * @param {String || Object]} selectObj 目標(biāo)下拉選框的名稱或?qū)ο?,必?BR>     */
     function removeOptions(selectObj)
     {
     if (typeof selectObj != 'object')
     {
     selectObj = document.getElementById(selectObj);
     }
     // 原有選項(xiàng)計(jì)數(shù)
     var len = selectObj.options.length;
     for (var i=0; i < len; i++) {
     // 移除當(dāng)前選項(xiàng)
     selectObj.options[0] = null;
     }
     }
     /*
     * @param {String || Object]} selectObj 目標(biāo)下拉選框的名稱或?qū)ο螅仨?BR>     * @param {Array} optionList 選項(xiàng)值設(shè)置 格式:[{txt:'北京', val:'010'}, {txt:'上海', val:'020'}] ,必須
     * @param {String} firstOption 第一個(gè)選項(xiàng)值,如:“請(qǐng)選擇”,可選,值為空
     * @param {String} selected 默認(rèn)選中值,可選
     */
     function setSelectOption(selectObj, optionList, firstOption, selected) {
     if (typeof selectObj != 'object')
     {
     selectObj = document.getElementById(selectObj);
     }
     // 清空選項(xiàng)
     removeOptions(selectObj);
     // 選項(xiàng)計(jì)數(shù)
     var start = 0;
     // 如果需要添加第一個(gè)選項(xiàng)
     if (firstOption) {
     selectObj.options[0] = new Option(firstOption, '');
     // 選項(xiàng)計(jì)數(shù)從 1 開(kāi)始
     start ++;
     }
     var len = optionList.length;
     for (var i=0; i < len; i++) {
     // 設(shè)置 option
     selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);
     // 選中項(xiàng)
     if(selected == optionList[i].val)  {
     selectObj.options[start].selected = true;
     }
     // 計(jì)數(shù)加 1
     start ++;
     }
     }
     //-->
    </script>
    <script language="JavaScript" type="text/javascript">
    var cityArr = [];
    cityArr['江蘇省'] =
    [
     {txt:'南京', val:'南京'},
     {txt:'無(wú)錫', val:'無(wú)錫'},
     {txt:'徐州', val:'徐州'},
     {txt:'蘇州', val:'蘇州'},
     {txt:'南通', val:'南通'},
     {txt:'淮陰', val:'淮陰'},
     {txt:'揚(yáng)州', val:'揚(yáng)州'},
     {txt:'鎮(zhèn)江', val:'鎮(zhèn)江'},
     {txt:'常州', val:'常州'}
     ];
    cityArr['浙江省'] =
    [
     {txt:'杭州', val:'杭州'},
     {txt:'寧波', val:'寧波'},
     {txt:'溫州', val:'溫州'},
     {txt:'湖州', val:'湖州'}
     ];
    function setCity(province)
    {
     setSelectOption('city', cityArr[province], '-請(qǐng)選擇-');
    }
    </script>
     <select name="province" id="province" onchange="if(this.value != '') setCity(this.options[this.selectedIndex].value);">
     <option value="">-請(qǐng)選擇-</option>
     <option value="江蘇省">江蘇省</option>
     <option value="浙江省">浙江省</option>
     </select>
     省
     <select name="city" id="city">
     <option value="">-請(qǐng)選擇-</option>
     </select>
     市
    PS:這里再為大家推薦一款非常好用的JavaScript壓縮、格式化與加密工具,功能非常強(qiáng)大:
    JavaScript壓縮/格式化/加密工具:http://tools.jb51.net/code/jscompress
    上面這款js工具中的加密功能可實(shí)現(xiàn)js代碼的eval函數(shù)加密形式,對(duì)此本站還提供了如下這款針對(duì)eval函數(shù)加密的解密工具,非常強(qiáng)大實(shí)用!
    js的eval方法在線加密解密工具:http://tools.jb51.net/password/evalencode
    希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。