ホームページ >ウェブフロントエンド >jsチュートリアル >js_javascript スキルによって実装されたドロップダウン ボックスの二次的なリンク効果

js_javascript スキルによって実装されたドロップダウン ボックスの二次的なリンク効果

WBOY
WBOYオリジナル
2016-05-16 15:02:591186ブラウズ

この記事の例では、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>
 市

追記: ここでは、非常に強力な機能を備えた、非常に使いやすい 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 プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。