关于js二级联动的实现
来源:互联网 发布:linux创建普通用户 编辑:程序博客网 时间:2024/05/22 03:52
既然说是js没说ajax,那么肯定只是适合于静态数据。如何想要寻找ajax实现联动下拉框的解决方法,那么本文不适你。
1.我们需要需要表单包含一个1级下拉框和2级下拉框。
<form id="productForm" name="productForm" method="POST" action=""> <select id="productBigType" name="productBigType" class="productBigType" cssClass="small-input" onchange="changeSelect(this.value)"> <option value="0">事件大类</option> <option value="1">售前工作分类</option> <option value="2">售后工作分类</option> </select> <select name="productsmallType"> <option>事件小类</option> </select> </form>2.我们需要2级下拉框的数据,我们采用数组进行存储.
var productTypeArr = new Array(); productTypeArr[0]=new Array('1','现场交流'); productTypeArr[1]=new Array('1','调研'); productTypeArr[2]=new Array('1','解决方案'); productTypeArr[3]=new Array('1','招标参数'); productTypeArr[4]=new Array('1','投标文件'); productTypeArr[5]=new Array('1','市场会议'); productTypeArr[6]=new Array('1','培训'); productTypeArr[7]=new Array('1','演示'); productTypeArr[8]=new Array('1','测试'); productTypeArr[9]=new Array('1','提交用户的各种文档'); productTypeArr[10]=new Array('1','报价'); productTypeArr[11]=new Array('2','调研'); productTypeArr[12]=new Array('2','项目实施'); productTypeArr[13]=new Array('2','排故'); productTypeArr[14]=new Array('2','巡检'); productTypeArr[15]=new Array('2','测试演示'); productTypeArr[16]=new Array('2','技术交流'); productTypeArr[17]=new Array('2','编写文档'); productTypeArr[18]=new Array('2','会议学习'); productTypeArr[19]=new Array('2','认证考试');3.第三步需要做什么呢。无疑是在下拉框1内容变化的时候对下拉框2的数据进行填充,以得到自己想要选择的内容。
onchange方法就是用来监听下拉框1的数据是否变化的。
4.我们需要一个对下拉框2进行填充的changeSelect方法。
function changeSelect(productId){ document.productForm.productsmallType.length=0; if(productId==0)document.productForm.productsmallType.options[0] = new Option('产品分类'); for(var i=0;i<productTypeArr.length;i++){ if (productTypeArr[i][0] == productId) //这个是用来判断当前下拉框选择的是第几列,用于填充对应数据。 {document.productForm.productsmallType.options[document.productForm.productsmallType.length] = new Option(productTypeArr[i][1]} } }
说明:此方法对数据不大的并且是静态数据相当适合。
完整代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'device_edit.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><!-- Reset Stylesheet --><script type="text/javascript"> var productTypeArr = new Array(); productTypeArr[0]=new Array('1','现场交流'); productTypeArr[1]=new Array('1','调研'); productTypeArr[2]=new Array('1','解决方案'); productTypeArr[3]=new Array('1','招标参数'); productTypeArr[4]=new Array('1','投标文件'); productTypeArr[5]=new Array('1','市场会议'); productTypeArr[6]=new Array('1','培训'); productTypeArr[7]=new Array('1','演示'); productTypeArr[8]=new Array('1','测试'); productTypeArr[9]=new Array('1','提交用户的各种文档'); productTypeArr[10]=new Array('1','报价'); productTypeArr[11]=new Array('2','调研'); productTypeArr[12]=new Array('2','项目实施'); productTypeArr[13]=new Array('2','排故'); productTypeArr[14]=new Array('2','巡检'); productTypeArr[15]=new Array('2','测试演示'); productTypeArr[16]=new Array('2','技术交流'); productTypeArr[17]=new Array('2','编写文档'); productTypeArr[18]=new Array('2','会议学习'); productTypeArr[19]=new Array('2','认证考试'); function changeSelect(productId){ document.productForm.productsmallType.length=0; if(productId==0)document.productForm.productsmallType.options[0] = new Option('产品分类','选择你要添加的产品分类'); for(var i=0;i<productTypeArr.length;i++){ if (productTypeArr[i][0] == productId) //[0] [1] 第一列 第二列 {document.productForm.productsmallType.options[document.productForm.productsmallType.length] = new Option(productTypeArr[i][1], productTypeArr[i][2]);} } } var productTypeArr1 = new Array(); productTypeArr1[0] = new Array('1','vsphere'); productTypeArr1[1] = new Array('1','vcenter'); productTypeArr1[2] = new Array('1','esxi'); productTypeArr1[3] = new Array('1','view'); productTypeArr1[4] = new Array('1','Operation'); productTypeArr1[5] = new Array('1','SRM'); productTypeArr1[6] = new Array('1','DR/DP'); productTypeArr1[7] = new Array('2','NBU'); productTypeArr1[8] = new Array('2','BE'); productTypeArr1[9] = new Array('2','SSR'); productTypeArr1[10] = new Array('2','SF'); productTypeArr1[11] = new Array('2','SEP'); productTypeArr1[12] = new Array('2','SWG'); productTypeArr1[13] = new Array('2','SNAC'); productTypeArr1[14] = new Array('2','SDCS'); productTypeArr1[15] = new Array('2','DLP'); productTypeArr1[16] = new Array('2','SMG'); productTypeArr1[17] = new Array('3','单机oracle'); productTypeArr1[18] = new Array('3','集群oracle'); productTypeArr1[19] = new Array('4','IBM'); productTypeArr1[20] = new Array('4','同有'); productTypeArr1[21] = new Array('4','HP'); productTypeArr1[22] = new Array('4','EMC'); productTypeArr1[23] = new Array('4','NetApp'); productTypeArr1[24] = new Array('4','华为'); productTypeArr1[25] = new Array('4','联想'); productTypeArr1[26] = new Array('5','易云通云终端'); productTypeArr1[27] = new Array('6','网络交换机'); productTypeArr1[28] = new Array('7','光钎交换机'); productTypeArr1[29] = new Array('8','其他产品'); function changeSelect1(productId){ document.productForm1.productsmallType1.length=0; if(productId==0)document.productForm1.productsmallType1.options[0] = new Option('产品分类','选择你要添加的产品分类'); for(var i=0;i<productTypeArr1.length;i++){ if (productTypeArr1[i][0] == productId) //当符合它那一列的时候就创建 {document.productForm1.productsmallType1.options[document.productForm1.productsmallType1.length] = new Option(productTypeArr1[i][1]);} } }function find(){alert(document.productForm1.productsmallType1.value);}</script> </head> <body> <form id="productForm" name="productForm" method="POST" action=""> <select id="productBigType" name="productBigType" class="productBigType" cssClass="small-input" onchange="changeSelect(this.value)"> <option value="0">事件大类</option> <option value="1">售前工作分类</option> <option value="2">售后工作分类</option> </select> <select name="productsmallType"> <option>事件小类</option> </select> </form> <form id="productForm1" name="productForm1" method="POST" action=""> <select id="productBigType1" name="productBigType1" class="productBigType1" cssClass="small-input" onchange="changeSelect1(this.value)"> <option value="0">产品类型</option> <option value="1">vmware</option> <option value="2">Symantec</option> <option value="3">Oracle</option> <option value="4">存储</option> <option value="5">易云通云终端</option> <option value="6">网络交换机</option> <option value="7">光钎交换机</option> <option value="8">其他产品</option> </select> <select name="productsmallType1"> <option>产品名称</option> </select> </form> <input type="button" value="find" onclick="find()"> </body></html>
0 0
- 关于js二级联动的实现
- js二级联动的实现
- js 实现二级联动
- js实现二级联动
- JS实现二级联动
- js实现二级联动
- jsp+js实现的二级联动菜单
- jsp+js实现的二级联动菜单
- js中的二级联动技术的实现
- js实现省市二级联动
- js 实现 二级联动菜单
- js实现二级下拉联动
- js实现二级联动菜单
- js实现注册、二级联动
- js关于省市的二级下拉菜单联动
- 省市二级联动的js
- 简单的js二级联动
- JS实现的省市二级联动的脚本
- 设计模式概述
- Android中通过进程注入技术修改系统返回的Mac地址
- initWithCoder与initWithFrame的区别
- win7+centos6.5双系统安装
- Asp.Net中的Web Service
- 关于js二级联动的实现
- 20141215 N2
- Java并发编程:Timer和TimerTask(转载)
- leetcode解题思路
- 检验员年终总结范文2013年银行柜员个人年终总结
- 第十六周OJ平台Problem B: 有相同数字?
- 软件架构原则
- 五个不为人知的ESC键妙用
- 17周项目二 指针玩字符串1-1 数组做形参实现连接