`
webcode
  • 浏览: 5946708 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

网页中下拉式列表框的数据过滤

 
阅读更多
网页下拉式列表框的数据过滤的情况我想大多数网络程序设计者都会遇到,这种情况具体是指一个页面中有两个或多个下拉列表框,第二个列表框的值随着第一个列表框的值改变(即过滤出不需要的数据),比如,在用户注册信息时,当用户选择了省份过后,该省辖的城市名称就出现在第二个下拉列表框中。

  这种情况的解决方法有两种,一种是使用所用的网络程序设计语言(如ASP,JSP,PHP等)来实现,但这种方法的缺点是当用户很多网络数据很慢时,速度很慢,第二个下拉列表框的值需要一段时间才会出来,降低了效率,而且页面不好控制,这里不阐述这种方法。

  第二种解决方法是采用javascript来控制,其基本思想是:首先将所有城市的名称和编码还有所属省份的编码存放在一个二位数组中,该数组有三列多行,行数根据城市个数决定,每一行的第一列表示城市编号,第二列表示城市名称,第三列表示所属省份的编号。该数据结构就像数据库中的表,只是这里的没有字段名。其代码如下:
<script@language=javascript>
city=newArray(5);
city[0]=newArray(3);
city[0][0]='成都';city[0][1]='49';city[0][2]='1';
city[1]=newArray(3);
city[1][0]='绵阳(2)';city[1][1]='50';city[1][2]='1';
city[2]=newArray(3);
city[2][0]='广州';city[2][1]='51';city[2][2]='2';
city[3]=newArray(3);
city[3][0]='深圳';city[3][1]='52';city[3][2]='2';
city[4]=newArray(3);
city[4][0]='上海';city[4][1]='53';city[4][2]='3';
</script>
  然后再第一个下拉列表框中选项变化是执行的javascript函数如下(干函数的功能就是数据过滤):
<script@language=javascript>
functionselectcity(){
document.form1.city.options[0]=newOption("请选择城市","-1");
for(varctr=1;ctr<document.form1.city.length;ctr++)
document.form1.city.options[ctr]=newOption("","");
varl=1;
for(vark=0;k<5;k++){
if(form1.province.value==city[k][2]){
document.form1.city.options[l]=newOption(city[k][1],city[k][0]);
l++;
}
}
}
</script>
  在下拉列表框的表单中的代码如下:
<formaction=""method="post"name="form1">
<selectname="province"id="province"onChange="selectcity();">
<optionvalue="-1">请选择省份</option>
<optionvalue="1">四川</option>
<optionvalue="2">广东</option>
<optionvalue="3">上海</option>
</select><br>
<selectname="city"id="city"></select>
</form>

  该代码已在现阶段各种常用的浏览器上测试通过,在某些嵌入式的浏览器上不支持,比如在NC上嵌入的浏览器上不支持这种方式,如果你使用的是IE或者Netscape,那么,请放心使用。

分享到:
评论

相关推荐

    精通JS脚本之ExtJS框架.part2.rar

    7.2.5 下拉列表框 7.2.6 日期输入控件Ext.form.DateField 7.2.7 在线编辑器Ext.form.HtmlEditor 7.3 ExtJS表单组件的综合应用 第8章 设计表格类布局 8.1 表格简介 8.1.1 表格的基本属性 8.1.2 制作第一个表格...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例244 将文本文件中数据存储到数据库中 316 4.5 文件的压缩与解压 318 实例245 PHP中压缩RAR文件 319 实例246 PHP中将上传文件转换成RAR文件 320 实例247 PHP中对RAR文件进行解压 321 实例248 PHP中压缩ZIP文件 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例244 将文本文件中数据存储到数据库中 316 4.5 文件的压缩与解压 318 实例245 PHP中压缩RAR文件 319 实例246 PHP中将上传文件转换成RAR文件 320 实例247 PHP中对RAR文件进行解压 321 实例248 PHP中压缩ZIP文件 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    16.4 验证列表框中的值是否重复 16.5 检测输入框的统一方法 16.6 Email的验证 16.7 不使用正则验证IP地址 16.8 IP地址输入框 16.9 判断变量是否已经定义 16.10 判断方法是否已经定义 16.11 表单验证样式(一) 16.12...

    PHP程序开发范例宝典III

    实例054 改变下拉列表框的背景色 82 实例055 带颜色变化的动态链接按钮 82 实例056 设置图片的样式 83 实例057 设置表格的样式 84 实例058 模拟的进度条 86 3.3 超链接样式 87 实例059 鼠标单击文字...

    程序天下:JavaScript实例自学手册

    16.4 验证列表框中的值是否重复 16.5 检测输入框的统一方法 16.6 Email的验证 16.7 不使用正则验证IP地址 16.8 IP地址输入框 16.9 判断变量是否已经定义 16.10 判断方法是否已经定义 16.11 表单验证样式(一) 16.12...

    精通JS脚本之ExtJS框架.part1.rar

    7.2.5 下拉列表框 7.2.6 日期输入控件Ext.form.DateField 7.2.7 在线编辑器Ext.form.HtmlEditor 7.3 ExtJS表单组件的综合应用 第8章 设计表格类布局 8.1 表格简介 8.1.1 表格的基本属性 8.1.2 制作第一个表格...

    jQuery权威指南-源代码

    4.7.2 下拉列表框中的事件应用/104 4.8 列表应用/109 4.9 网页选项卡的应用/114 4.10 综合案例分析—删除数据时的提示效果在项目中的应用/116 4.10.1 需求分析/116 4.10.2 效果界面/117 4.10.3 功能实现/118 ...

    C#编程经验技巧宝典

    103 &lt;br&gt;0167 锁定文本框内的文本 103 &lt;br&gt;0168 使用Message.Show输出用户信息 104 &lt;br&gt;5.3 图片数据处理技巧 104 &lt;br&gt;0169 如何将图片存入数据库 104 &lt;br&gt;0170 如何将图片从数据库中读取...

    傲游浏览器3(Maxthon) 3.1.8.1000 正式版

    * 有时修改语言会导致嗅探器中的资源列表消失. [数据同步] * 不编辑过滤规则点击 "应用" 时, 会错误的进行同步. [阅读模式] * 已经隐藏的工具条仍然响应鼠标事件. * 增强阅读模式兼容性. * 某些情况下页面不响应...

    Delphi开发范例宝典目录

    实例080 在TStringGrid中实现单元格下拉列表 98 实例081 在TStringGrid组件中绘图 99 实例082 TStringGrid组件上回车移动焦点 100 实例083 在TStringGrid组件中设置只读栏 102 实例084 TStringGrid组件...

Global site tag (gtag.js) - Google Analytics