今天实现了,图表的三级联动的功能的实现
点击学科可以显示相映的分类,就是搜索数据库的以及学科,提供相映的二级学科的类目供搜索
具体代码如下
<script type="text/javascript"> if (window.ActiveXObject && !window.XMLHttpRequest) { window.XMLHttpRequest = function() { return new ActiveXObject((navigator.userAgent.toLowerCase() .indexOf('msie 6') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'); }; }//取得XMLHttpRequest对象 var req; var flagSelect; function testName(flag, value)//使用Ajax访问服务器 { flagSelect = flag; //标记一下当前是选择省,还是选择市 req = new XMLHttpRequest(); if (req) { req.onreadystatechange = setValue; } req.open('POST', "getinfo.jsp?flag=" + flag + "&value=" + value);//把参数带到服务器中 req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.send(null); } function setValue() { if (req.readyState == 4)//访问到服务器 { if (req.status == 200)//正确返回 { if (flagSelect == "1")//如果选择某个省要更新市和区 { var v = req.responseText.split("||");//req.responseText是服务器返回来的字符串 paint(document.all("sec"), v[0]);//更新市下拉框 paint(document.all("thi"), v[1]);//更新区下拉框 } if (flagSelect == "2")//如果选择某市,只需改变区 { var v = req.responseText;//req.responseText是服务器返回来的字符串 paint(document.all("thi"), v);//更新区下拉框 } } } } function paint(obj, value)//根据一对数据去更新一个下拉框 { var ops = obj.options; var v = value.split(";");//得到一些数据,(修改过了..) while (ops.length > 0)//先清空原来的数据 { ops.remove(0); } for (var i = 0; i < v.length - 1; i++)//把新得到的数据显示上去 { var o = document.createElement("OPTION");//创建一个option把它加到下拉框中 o.value = v[i].split(",")[0]; o.text = v[i].split(",")[1]; ops.add(o); } } //判断是否选择的基础研究,然后隐藏后面的行列 function check_jichu() { var jichu = document.getElementsByName("Itype"); //学科分类 领域 lingyu1 lingyu2 行业 应用行业 if (jichu[0].checked == true) { document.getElementById("table2").style.display = "none" } else if (jichu[1].checked == true || jichu[2].checked == true || jichu[3].checked == true || jichu[4].checked == true) { document.getElementById("table2").style.display = "block" } } </script>