這篇文章主要介紹了js實現(xiàn)的下拉框二級聯(lián)動效果,涉及JavaScript針對頁面元素的遍歷與節(jié)點操作相關(guān)技巧,需要的朋友可以參考下
本文實例講述了js實現(xiàn)的下拉框二級聯(lián)動效果。分享給大家供大家參考,具體如下:
<script language="JavaScript" type="text/javascript">
<!--
/*
* 說明:將指定下拉列表的選項值清空
* 轉(zhuǎn)自:Gdong Elvis ( http://www.gdcool.net )
*
* @param {String || Object]} selectObj 目標(biāo)下拉選框的名稱或?qū)ο?,必?/P>
*/
function removeOptions(selectObj)
{
if (typeof selectObj != 'object')
{
selectObj = document.getElementById(selectObj);
}
// 原有選項計數(shù)
var len = selectObj.options.length;
for (var i=0; i < len; i++) {
// 移除當(dāng)前選項
selectObj.options[0] = null;
}
}
/*
* @param {String || Object]} selectObj 目標(biāo)下拉選框的名稱或?qū)ο?,必?/P>
* @param {Array} optionList 選項值設(shè)置 格式:[{txt:'北京', val:'010'}, {txt:'上海', val:'020'}] ,必須
* @param {String} firstOption 第一個選項值,如:“請選擇”,可選,值為空
* @param {String} selected 默認(rèn)選中值,可選
*/
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++) {
// 設(shè)置 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程序設(shè)計有所幫助。