表单部分:

 <form>
学院:&nbsp;<select id="college">
<option >-----请选择------
<option value="经济学院">经济学院
<option value="管理学院">管理学院
<option value="外国语学院">外国语学院
<option value="马克思学院">马克思学院
</select>&nbsp;&nbsp;&nbsp;&nbsp;
专业:&nbsp;<select id="major">
<option id="comment">-----请选择------
</select>
</form>

先说下思路:既然是联动的菜单,那么一定要根据前者学院的选项来添加后者专业的选项,其次每次在专业中添加新的选项时,一定要先进行清空,再添加,否则就会出现专业混杂的情况

js部分:

 <script>
var college = document.getElementById("college");
college.onchange = function () {
var major = document.getElementById("major");
//判断
if(college.value == "经济学院") {
major.innerHTML = "";//生成新值前先进行清空
var comment = document.createElement("option");
comment.innerHTML = "-----请选择------";
major.appendChild(comment);
var a = document.createElement("option");
a.innerHTML = "电子商务";
major.appendChild(a);
var b = document.createElement("option");
b.innerHTML = "市场营销";
major.appendChild(b);
var c = document.createElement("option");
c.innerHTML = "国际贸易";
major.appendChild(c);
var d = document.createElement("option");
d.innerHTML = "金融工程";
major.appendChild(d);
} if(college.value == "管理学院") {
major.innerHTML = "";
var comment = document.createElement("option");
comment.innerHTML = "-----请选择------";
major.appendChild(comment);
var a = document.createElement("option");
a.innerHTML = "工商管理";
major.appendChild(a);
var b = document.createElement("option");
b.innerHTML = "旅游管理";
major.appendChild(b);
var c = document.createElement("option");
c.innerHTML = "会计管理";
major.appendChild(c);
var d = document.createElement("option");
d.innerHTML = "酒店管理";
major.appendChild(d);
} if(college.value == "外国语学院") {
major.innerHTML = "";
var comment = document.createElement("option");
comment.innerHTML = "-----请选择------";
major.appendChild(comment);
var a = document.createElement("option");
a.innerHTML = "商务英语";
major.appendChild(a);
var b = document.createElement("option");
b.innerHTML = "日语";
major.appendChild(b);
var c = document.createElement("option");
c.innerHTML = "小语种";
major.appendChild(c);
var d = document.createElement("option");
d.innerHTML = "中文";
major.appendChild(d);
}
if(college.value == "马克思学院") {
major.innerHTML = "";
var comment = document.createElement("option");
comment.innerHTML = "-----请选择------";
major.appendChild(comment);
var a = document.createElement("option");
a.innerHTML = "马克思";
major.appendChild(a);
var b = document.createElement("option");
b.innerHTML = "毛概";
major.appendChild(b);
}
}
</script>

附上jquery的版本,思路相同,函数调用上略有不同,使用前要先引入jq相关的js文件

 <script>
/**JQ实现二级菜单联动**/
/* var $major = $("#major");
$("#college").change(function(){
var $college_name = $("#college").val();
if("经济学院" == $college_name) {
$major.find("option").remove();
$major.append("<option>-----请选择------");
$major.append("<option>电子商务");
$major.append("<option>市场营销");
$major.append("<option>国际贸易");
$major.append("<option>金融工程");
}else if("管理学院" == $college_name) {
$major.find("option").remove();
$major.append("<option>-----请选择------");
$major.append("<option>工商管理");
$major.append("<option>旅游管理");
$major.append("<option>会计管理");
$major.append("<option>酒店管理");
}else if("外国语学院" == $college_name) {
$major.find("option").remove();
$major.append("<option>-----请选择------");
$major.append("<option>商务英语");
$major.append("<option>小语种专业");
$major.append("<option>中文专业");
}else if("马克思学院" == $college_name) {
$major.find("option").remove();
$major.append("<option>-----请选择------");
$major.append("<option>马克思");
$major.append("<option>毛概");
}
}); */
</script>

JavaScript(jquery)实现二级菜单联动的更多相关文章

  1. 省市联动_简单的Demo,适用于各种二级菜单联动

    最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台. 平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动 ...

  2. Ajax和JSON完成二级菜单联动的功能

    首先需要找好JSON的包哦: 链接:http://pan.baidu.com/s/1jH6gN46 密码:lbh1 1:首先创建一个前台页面,比如secondMenu.jsp,源码如下所示: < ...

  3. juqery easy ui 实现二级菜单联动

    实现效果 代码: <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat= ...

  4. JQuery 纵向二级菜单与对齐方式

    1.效果: 2.代码: style部分: <style type="text/css"> /* ul{margin: 0; padding: 0;}*/ ul{list ...

  5. Excel实现二级菜单联动

    项目中需要导入一个Excel模板需要实现二级联动,现记录如下: 首先看一下原始数据,原始信息在一张工作表,第一行是省市名称,下面的若干行为对应省市下面的地名和区名.需要在另外一张工作表中A列和B列建立 ...

  6. 【JavaScript&jQuery】省市区三级联动

    HTML: <%@page import="com.mysql.jdbc.Connection"%> <%@ page language="java&q ...

  7. jQuery实现二级菜单

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. Struts2二级菜单联动

    http://www.cnblogs.com/wujixing/p/5194461.html ps: Java面试 http://blog.csdn.net/zhang070809/article/d ...

  9. jQuery show hide方法 二级菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. get和post提交数据的差别

    form表单提交,默认method = "get",所以你在提交数据的时候,最好将此參数指定为method = "post",否则你在提交大数据的时候,可能会出 ...

  2. F12调试模式下使用console自动提交

    F12调试模式下使用console自动提交(F12 的console->输入代码->按enter即可运行) 1.使用定时器setInterval进行自动提交 //方法中可使用jquery调 ...

  3. 解决 ASP.NET Core MySql varchar 字符串截取(长度 255)

    ASP.NET Core 中使用 MySql,如果字段类型为varchar,不管设置多少长度,插入或更新数据的时候,会自动截断(截取 255 长度的字符). 出现问题的原因,就是使用了MySql.Da ...

  4. lock锁速记

    1.Lock关键字主要实现锁互斥,确保一个线程A在请求此操作时不会被其线程B请求中断(假设A先请求并在没有未完成的操作情况下申请了此互斥锁).lock的参数必须是基于引用类型的对象,不要是基本类型像b ...

  5. MyBatis 批量操作、集合遍历-foreach

    在使用mybatis操作数据库时,经常会使用到批量插入.IN条件查询的情况,这时就难免要使用到foreach元素.下面一段话摘自mybatis官网: foreach 元素的功能是非常强大的,它允许你指 ...

  6. BCryptPasswordEncoder加密及判断密码是否相同

    项目中用到了BCryptPasswordEncoder对密码进行二次加密,需要注意的是,加密后的字符串比较长,数据库的长度至少为60位. 通过BCryptPasswordEncoder的加密的相同字符 ...

  7. JS判断终端

    //判断手机终端 if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { window.location.href = 'mobil ...

  8. Function:html结构转字符串形式显示

    //Html结构转字符串形式显示 支持<br>换行 function ToHtmlString(htmlStr) { return toTXT(htmlStr).replace(/\&am ...

  9. 并行rsync

    #!/bin/bash ]; then echo -e "usage : \n\t$0 hostList src_file dst_path" echo -e "exam ...

  10. Win10关闭某程序的通知的方法

    一.点击右下角的通知图标. 二.点击所有通知. 三.点击系统 四.点击通知和操作 五.下拉,看到:获取来自这些发送者的通知 六.关闭自己想关闭通知的程序即可.