Maison  >  Article  >  interface Web  >  Effet de liaison secondaire de la liste déroulante implémenté par les compétences js_javascript

Effet de liaison secondaire de la liste déroulante implémenté par les compétences js_javascript

WBOY
WBOYoriginal
2016-05-16 15:02:591165parcourir

L'exemple de cet article décrit l'effet de liaison secondaire de la liste déroulante implémentée par js. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

<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 : Nous recommandons ici un outil de compression, de formatage et de chiffrement JavaScript très simple à utiliser et doté de fonctions très puissantes :

Outil de compression/formattage/chiffrement JavaScript : http://tools.jb51.net/code/jscompress

La fonction de cryptage dans l'outil js ci-dessus peut réaliser la forme de cryptage de la fonction eval du code js À cet égard, ce site fournit également l'outil de décryptage suivant pour le cryptage de la fonction eval, qui est très puissant et. pratique!

Outil de cryptage et de décryptage en ligne de la méthode d'évaluation JS : http://tools.jb51.net/password/evalencode

Pour plus de contenu lié à JavaScript, veuillez consulter les sujets spéciaux sur ce site : "Résumé des effets spéciaux et techniques de commutation JavaScript", "Résumé des techniques d'algorithme de recherche JavaScript" , "Résumé des effets spéciaux et des techniques d'animation JavaScript", "Résumé des erreurs JavaScript et des techniques de débogage", "Résumé des structures de données JavaScript et des techniques d'algorithme" , "Résumé des algorithmes et techniques de traversée JavaScript " et "Résumé de l'utilisation des opérations mathématiques JavaScript"

J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn