js實現(xiàn)的下拉框二級聯(lián)動效果

字號:


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