select组件2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>select组件的演示</title>
<script type="text/javascript">
function selectCtiy(){
var citys=[['选择城市'],
['海淀区','东城区','西城区','朝阳区'],
['益阳','长沙','株洲','湘潭'],
['杭州','宁波','金华','温州'],
['南昌','九江','萍乡','上饶']];
var nameseild=document.getElementById("seild");
var seildsubnm=document.getElementById("subseild");
var index=nameseild.selectedIndex;
var city=citys[index];
/* 方法一:*/
for(var xs=1;xs<seildsubnm.options.length;){/*这里是每次删除一个options数组 */
seildsubnm.removeChild(seildsubnm.options[xs]);
}
/* 发二: 设置右边那个select组件的长度只有一个*/
//seildsubnm.length=1;/* 这个地方是设置右边那个select组件的长度只有一个,轻松的清除前面的所有节点;*/
for(var i=0;i<city.length;i++){
var optionNode=document.createElement("option");/* 这个地方是制造一个新元素 */
optionNode.innerHTML=city[i];
seildsubnm.appendChild(optionNode);/*将新元素贴加到select组件上 */
}
}
/*这个地方的方法是采用了map集合的方式 */
function select2(){
var colctiys={ "defalut":['选择城市'],
"beijin":['海淀区','东城区','西城区','朝阳区'],
"hunan":['益阳','长沙','株洲','湘潭'],
"zhejiang":['杭州','宁波','金华','温州'],
"jiangxi":['南昌','九江','萍乡','上饶']
};
var oseildNode=document.getElementById("seild2");
var oseildNode2=document.getElementById("subseild2");
var index=oseildNode.selectedIndex;
var optionNode=oseildNode.options[index];
var keys=optionNode.value;
var cties=colctiys[""+keys];
oseildNode2.length=1;
for(var i=0;i<cties.length;i++){
var optionsd=document.createElement("option");
optionsd.innerHTML=cties[i];
oseildNode2.appendChild(optionsd);
}
}
</script>
</head>
<body>
<select id="seild" onchange="selectCtiy()">
<option>请选择省份</option>
<option>北京</option>
<option>湖南</option>
<option>浙江</option>
<option>江西</option>
</select>
<select id="subseild">
<option>请选择城市</option>
</select>
<!-- 这个地方的区别在于option里面也必须设置value值 -->
<select id="seild2" onchange="select2()"><!-- 这个地方出错了一次是因为上面的function函数少写了个{,但只在这一行报错。 -->
<option value="defalut">请选择省份</option>
<option value="beijin">北京</option>
<option value="hunan">湖南</option>
<option value="zhejiang">浙江</option>
<option value="jiangxi">江西</option>
</select>
<select id="subseild2">
<option>请选择城市</option>
</select>
</body>
</html>
select组件2的更多相关文章
- 改变select组件的option选中状态的快捷方法
以前我都是在<option>标签处通过判断value是否与其中一个相同然后输出selected="selected"来处理的,今天发现可以直接能过Js改变<sel ...
- select组件
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 如何实现select组件的选择输入过滤作用
实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...
- freemarker写select组件(一)
freemarker写select组件 1.宏定义 <#macro select id datas> <select id="${id}" name=" ...
- freemarker写select组件报错总结(一)
1.具体错误如下 六月 25, 2014 11:26:29 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...
- freemarker写select组件(五)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
- freemarker写select组件(四)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
- freemarker写select组件(三)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
- freemarker写select组件(二)
freemarker写select组件 1.宏定义 <#macro select id datas value=""> <select id="${id ...
随机推荐
- objective-c 强大的布尔类型
objective-c codes: #import <Foundation/Foundation.h> BOOL areIntsDifferent(int thing1,int thin ...
- 【POJ】3076 Sudoku
DLX第一题,模板留念. /* 3076 */ #include <iostream> #include <string> #include <map> #incl ...
- 按CTRL,SHIFT,ALT等键扩展easyui的datagrid多选实现
//------------------------------------------------------------------------------- // 当然页面文件中还需要引入的文件 ...
- oracle删掉重复数据的语法
--查询重复数据-- ) --删掉重复数据-- ) );
- [liu yanling]规范软件测试流程
测试计划 做任何事情都会有输入输出,对于测试过程我们可以把输入理解为测试计划.测试环境准备.测试工具的选择等等,输出可以理解为测试结果.测试用例设计即可以理解为以测试计划为输入的输出,也可以理解为以测 ...
- [Stephen]页面实现瀑布流源码
项目中使用到的瀑布流代码 @using tZ.Pms.Biz @using tZ.Mvc.Base @model IPageInfo @{ ViewBag.Title = Model.WebTitle ...
- Linux使用sudo提权时,出现xx 不在 sudoers 文件中。此事将被报告。visudo 命令简单介绍。
在使用 sudo 临时提权时,出现:不在 sudoers 文件中.此事将被报告. 可以使用 visudo命令 来配置/etc/sudoers文件,将目标用户赋予使用sudo命令的能力. visudo命 ...
- 【原】spark-submit提交应用程序的内部流程
我们经常通过spark-submit来提交spark应用程序,那么让我们一起看一下这里面到底发生了什么吧. 知识点: 1.CLI命令行界面启动Spark应用程序 Unix有两种方式:1)spark-s ...
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程02:关键帧动画导入与切割》
2. 关键帧动画导入与切割 动画的分割与导入概述: 在游戏当中,游戏角色在不同状态下会有不同的动作,这些动作在引擎里相当于一段段的动画片段.当导入模型资源的时候,连同模型动画都会一并导入到引擎中.开发 ...
- 【Java基础】泛型的一些总结
什么是泛型 泛型其实可以理解为一种广泛的类型,啥类型都型,当然,这种泛是指定义时可以广泛,但是使用时必须确定类型.也就是说,当不清楚未来使用哪种类型时,定义为泛型.可以支持泛型类,泛型接口,泛型方法, ...