本文實例講述了js實現的下拉框二級聯動效果。分享給大家供大家參考,具體如下:
<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); } // 原有選項計數 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); // 選項計數 var start = 0; // 如果需要添加第一個選項 if (firstOption) { selectObj.options[0] = new Option(firstOption, ''); // 選項計數從 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; } // 計數加 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:'鎮江', val:'鎮江'}, {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工具中的加密功能可實現js代碼的eval函數加密形式,對此本站還提供了如下這款針對eval函數加密的解密工具,非常強大實用!
js的eval方法在線加密解密工具:http://tools.jb51.net/password/evalencode
更多關於JavaScript相關內容可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。