`
gaosililn
  • 浏览: 73421 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

联动下拉

    博客分类:
  • web
 
阅读更多

在不少的网页为了提高体验度,在一些下拉的选择框中提供了联动这种JS技术

比如我们填写地址时候,通常可以选择省份再选择市区等,而市区则以省份为基础适配,而不是将全国的市区都放进来,这样提高用户的体验度

这样在web开发中,通常叫这样为联动。联动实现的方式有很多,JS就是其中一种。

下面就以医院的科室为例,当选择内科,二级联动就展示内科的科室;一级联动选择外科,而二级联动就只选择外科的科室。

展示如下:

 

 

 

 

具体实现代码:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<body>
<!-- 联动科室-->

<script language="javascript">
	
	var SectionsArr = [];
	SectionsArr['内科']=[
	         {txt:'心血管内科',val:'心血管内科'}, 
	         {txt:'呼吸内科',val:'呼吸内科'}, 
	         {txt:'消化内科',val:'消化内科'}, 
	         {txt:'血液内科',val:'血液内科'}, 
	         {txt:'免疫内科',val:'免疫内科'}, 
	         {txt:'内分泌科',val:'内分泌科'}, 
	         {txt:'肾内科',val:'肾内科'}, 
	         {txt:'感染内科',val:'感染内科'}, 
	         {txt:'肿瘤内科',val:'肿瘤内科'}, 
	         {txt:'神经内科',val:'神经内科'},
	         {txt:'普通内科',val:'普通内科'}, 
	         {txt:'内科ICU',val:'内科ICU'}, 
	         {txt:'心理医学科',val:'心理医学科'}
	                           ];
	SectionsArr['外科']=[
		     {txt:'基本外科',val:'基本外科'},
		     {txt:'基本外科',val:'基本外科'},
		     {txt:'心脏外科',val:'心脏外科'},
		     {txt:'泌尿外科',val:'泌尿外科'},
		     {txt:'骨科',val:'骨科'},
		     {txt:'神经外科',val:'神经外科'},
		     {txt:'血管外科',val:'血管外科'},
		     {txt:'乳腺疾病科',val:'乳腺疾病科'},
		     {txt:'外科ICU',val:'外科ICU'},
		     {txt:'麻醉科',val:'麻醉科'},
		     {txt:'胰腺外科',val:'胰腺外科'},
		     {txt:' 肠外肠内营养科',val:' 肠外肠内营养科'},
		     {txt:'肝脏外科',val:'肝脏外科'},
		     {txt:'烧伤整形',val:'烧伤整形'},
		     {txt:'微创',val:'微创'},
		     {txt:'传染科',val:'传染科'},
		     {txt:'手术室',val:'手术室'}
	                           ];
	SectionsArr['妇儿科']=[
		     {txt:'妇科',val:'妇科'}, 
		     {txt:'产科',val:'产科'},  
		     {txt:'儿科',val:'儿科'}
	                           ];
	SectionsArr['五官科']=[
		     {txt:'耳鼻喉科',val:'耳鼻喉科'}, 
		     {txt:'口腔科',val:'口腔科'}, 
		     {txt:'皮肤科',val:'皮肤科'}, 
		     {txt:'眼科',val:'眼科'}
	                           ];
	SectionsArr['中医科']=[
		   	{txt:'中医内科',val:'中医内科'}, 
		   	{txt:'中医外科',val:'中医外科'}
	                           ];
	SectionsArr['医技科']=[
		    {txt:'检验科',val:'检验科'}, 
		    {txt:'放射科',val:'放射科'},
		    {txt:'核医学科',val:'核医学科'},
		    {txt:'理疗科',val:'理疗科'},
		    {txt:'放疗科',val:'放疗科'},
		    {txt:'病理科',val:'病理科'},
		    {txt:'超声诊断科',val:'超声诊断科'},
		    {txt:'输血科',val:'输血科'}
	                           ];
	SectionsArr['体检科']=[
		     {txt:'体检中心',val:'体检中心'}                     
	                           ];
	SectionsArr['设备科']=[
		     {txt:'设备中心',val:'设备中心'}                     
	                           ];
	

	/*
	 * 说明:将指定下拉列表的选项值清空
	 * @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 第一个选项值,如:“请选择”,可选,值为空
	 */
	function setSelectOption(selectObj, optionList, firstOption)
	{
		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);
	 
			
	 
			// 计数加 1
			start ++;
		}
	 
	}


	
	
	
	function Ss(value){
		alert("gaosi");
		setSelectOption('SpeSections', SectionsArr[value], '-请选择-');

	}

</script>

<!-- 大科室选择 -->
<select name='LargeSections' id='Large sections' 
onchange='Ss(this.options[this.selectedIndex].value)'>
	<option value="">--选择大科室--</option>
	<option value="内科">内科</option>
	<option value="外科">外科</option>
	<option value="妇儿科">妇儿科</option>
	<option value="五官科">五官科</option>
	<option value="中医科">中医科</option>
	<option value="医技科">医技科</option>
	<option value="体检科">体检科</option>
	<option value="设备科">设备科</option>

</select>
<!-- 具体科室选择 -->
<select name="SpeSections" id="SpeSections"> 
	<option value=''>--选择具体的科室--</option>
</select>


</body>
</html>

 

  • 大小: 1.3 KB
  • 大小: 5.9 KB
  • 大小: 1.7 KB
分享到:
评论

相关推荐

    ASP三级联动下拉菜单

    ASP三级联动下拉菜单 ASP三级联动下拉菜单是指在ASP编程中实现三级联动的下拉菜单,通过调用数据库数据来实现三级分类的联动效果。这种技术广泛应用于各种Web应用程序中,例如电商平台、在线论坛等。 在这个例子中...

    html+js实现地区三级联动下拉菜单

    在网页设计中,有时我们需要创建一个能够展示地区层级关系的交互式组件,这就是所谓的“地区三级联动下拉菜单”。这个组件通常由三个下拉菜单组成,分别代表省份、城市和区县,用户在选择上一级时,下一级的选项会...

    全国省市区三级联动下拉菜单

    全国省市区三级联动下拉菜单是一种常见的前端交互设计,它在网页或应用程序中用于选择地址时,用户可以依次从省、市、区三个级别的下拉菜单中选择,以实现快速定位。这种设计常见于电子商务、物流配送、信息录入等多...

    省市县(区)三级联动下拉菜单(内含省市县(区)access、sqlsever数据库)

    在IT开发领域,尤其是Web应用开发中,"省市县(区)三级联动下拉菜单"是一种常见的功能设计,主要用于用户选择地理位置。这种设计通常涉及到前端的JavaScript交互以及后端数据库的配合。本资源提供了一个完整的解决...

    Access联动下拉列表

    Access中窗体实现二级联动下拉示范,用VBA配合SQL查询来做rowsource,实现二级下拉跟着一级内容变化,如果一级内容没有选择,二级显示所有

    php代码实现二级联动下拉菜单效果

    在网页设计中,二级联动下拉菜单是一种常见的交互元素,常用于分类选择或者地区筛选等场景。这种功能的实现通常涉及到前端和后端的交互,其中PHP作为后端语言,负责处理数据并返回给前端。本篇文章将详细介绍如何...

    C#中国地区三级联动下拉菜单

    标题 "C#中国地区三级联动下拉菜单" 描述了一个常见的网页开发问题,即在C# ASP.NET项目中实现中国地区的三级联动下拉菜单时遇到的编码问题。开发者通常会从网上找到JavaScript代码来实现这一功能,但在将.js文件...

    excle多级联动下拉列表模版(省市县)

    excle多级联动下拉列表模版(省市县) 采用省市县行数据格式,无需处理数据格式,更加方便快捷 内附excle多级联动下拉列表模版供参考

    三级联动下拉表单源代码.rar

    在IT行业中,三级联动下拉表单是一种常见的交互设计,常用于网站的地区选择、商品分类等场景。这种设计能够帮助用户逐步细化他们的选择,提高用户体验。在这个名为"三级联动下拉表单源代码.rar"的压缩包中,包含了一...

    最简单js代码实现select二级联动下拉菜单

    本文实例为大家分享了js实现select二级联动下拉菜单,供大家参考,具体内容如下 &lt;&#37;@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;&#37; String path = request.getContextPath()...

    jquery省市区三级联动下拉菜单_select三级联动下拉菜单

    jquery省市区三级联动下拉菜单_select三级联动下拉菜单 jquery省市区三级联动下拉菜单_select三级联动下拉菜单 jquery省市区三级联动下拉菜单_select三级联动下拉菜单 jquery省市区三级联动下拉菜单_select三级联动...

    多款多级联动下拉菜单打包!必有一款适合你!

    标题中的“多款多级联动下拉菜单打包!必有一款适合你!”表明这是一个集合了多种实现多级联动下拉菜单技术的资源包,适用于不同的项目需求和开发环境。这样的菜单通常用于网站导航或者表单中,使得用户可以通过选择一...

    jQuery世界城市三级联动下拉选择代码

    这个"jQuery世界城市三级联动下拉选择代码"是一个实现这种功能的示例,它允许用户通过三个相互关联的下拉列表来选择全球的国家、省份(或州)以及城市。 首先,`jquery.min.js`是jQuery库的核心文件,它是...

    js 省市区select 三级联动(全国城市三级联动下拉列表)

    本文将详细介绍如何使用JavaScript实现全国城市三级联动下拉列表,并结合提供的资源进行解析。 首先,理解“三级联动”的概念:当用户在一级下拉列表(如省份)中选择一个选项时,二级下拉列表(如城市)会根据所选...

    HTML二级联动下拉列表框的实现,如选择 省,市.zip

    HTML二级联动下拉列表框是一种常见的网页交互设计,它允许用户在两个或多个下拉菜单之间建立关联,以便根据用户在第一个下拉框中的选择动态更新第二个下拉框的内容。这种设计常见于区域选择,例如选择省份后,城市...

    三级联动下拉菜单,很简单的

    在网页设计中,三级联动下拉菜单是一种常见的交互元素,尤其在导航菜单中应用广泛。它使得用户能够通过逐级选择来浏览复杂的信息结构,如网站的多级分类或者层级分明的数据。本教程将深入探讨如何创建一个简单易用的...

    多级联动下拉选择框,动态获取下一级

    在IT行业中,多级联动下拉选择框是一种常见的交互元素,尤其在数据分类或层级结构展示时非常实用。这种设计允许用户通过选择一个选项来触发下一个下拉框,展示与前一个选择相关的子级选项,形成一个联动的效果。在...

    数据库三级联动下拉列表

    在IT领域,数据库三级联动下拉列表是一种常见的交互设计,常用于网站或应用程序中,以提供用户更加便捷的导航和信息筛选。这种设计通常应用于有层次结构的数据,例如省份-城市-区县,或者类别-子类别-产品等。在这个...

    实现全国省市区三级联动下拉菜单

    总的来说,实现全国省市区三级联动下拉菜单的关键在于理解Select2插件的使用,以及如何有效地处理数据的级联更新。通过合理组织数据结构和利用jQuery事件,我们可以创建出高效且响应式的用户界面。在实际开发过程中...

    JS多级联动下拉列表(自定义级数)

    在网页开发中,多级联动下拉列表是一种常见的交互元素,尤其在处理地理位置选择或层级分类时非常实用。本文将详细介绍如何使用原生JavaScript实现一个可自定义级数的多级联动下拉列表,以及如何根据提供的"demo"文件...

Global site tag (gtag.js) - Google Analytics