很好用的二级联动下拉框
单位内部制作根据姓名和身份证号简易工资查询系统,顺手用这个代码扩展做了一个综合查询系统,在这个代码延伸读取excel个人部分。
js Code复制内容到剪贴板
<script src="https://common.cnblogs.com/scripts/jquery-2.2.0.min.js"></script><!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>二级联动下拉框</title> <script> var data = {<% Dim fso, f, f1, fc,fp,fs,vf Set fso = CreateObject("Scripting.FileSystemObject") fp=server.MapPath("/xls/") & "\" Set f = fso.GetFolder(fp) Set fc = f.SubFolders For Each f1 in fc i=i+1 %> "<%=f1.name%>":[<% Set fs = f1.Files For Each vf in fs %>"<%=vf.name%>",<% next%>],<% next%> } /* --通过js实现二级联动下拉框-- */ function selectCity(thisobj){ //1.获取用户选中的省份 var prov = thisobj.value;//thisobj-->省份的select //2.根据省份获取省份对应的城市列表 var citys = data[prov]; //3.将省份对应的所有城市作为option选项依次填充到城市select中 //>>获取城市select var oCitySele = document.getElementById("city"); //在填充城市列表数据之前, 先清空之前的数据 //清理内容方式一 //oCitySele.innerHTML = "<option>--选择城市--</option>"; var opts = oCitySele.getElementsByTagName("option"); //清理内容方式二 //>>循环遍历option, (删除第一个以外的所有option) //0 号位为选中提示,所以从1号位开始删除,每次删除后数组都会向前移动,所以 //遍历删除所有的一号位置就行 var len = opts.length;//4 3 for(var i=1; i<len;i++){ //alert(opts[1].value); oCitySele.removeChild(opts[1]); } for(var i=0; i<citys.length; i++){ var opt = document.createElement("option"); opt.innerHTML = citys[i]; oCitySele.appendChild(opt); } } </script> <!-- js实现注意问题: ie10以下的浏览器不支持 select,table上的innerHTML属性 删除option时,由于删除后,options长度发生了变化,所以直接用for循环会有漏删的情况,可以由后向前删除,可以避免这样的问题 --> </head> <body> <div id="seleDiv"> <select id="province" onchange="selectCity(this)" size="4"> <option>--选择查询类型--</option> <option>工资</option> <option>2222</option> </select> <select id="city" size="4"> <option>--选择城市--</option> </select> </div> </body> </html>
<< asp查询xls系统源码逐个目录显示文件名代码 >>
查看所有评论