這篇文章主要介紹了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ū)ο?,必?/P>
*/
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ū)ο螅仨?/P>
* @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 開始
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ì)有所幫助。