问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jsp 二级联动下拉框内容从数据库获取?

发布网友 发布时间:2022-05-19 20:21

我来回答

2个回答

懂视网 时间:2022-05-20 00:42

这是继 "利用XMLHTTP无刷新获取数据" 的另一篇关于XMLHTTP的应用. 
关于XMLHTTP.可以说,是一个很好的接合剂.把客户端和服务端的距离拉近了. 
利用XMLHTTP.我们可以实现很多好的想法. 
这文章.实现了二级连动Select. 
传统二级连动是把所有的数据都传到有客户端.. 
利用XMLHTTP.我们可以实时地返回我们所需要的数据. 
select.htm 
代码如下:
<script language="Javascript"> 
function GetResult(str) 

/* 
 *--------------- GetResult(str) ----------------- 
 * GetResult(str)  
 * 功能:通过XMLHTTP发送请求,返回结果. 
 * 参数:str,字符串,发送条件. 
 * 实例:GetResult(document.all.userid.value); 
 * author:wanghr100(灰豆宝宝.net) 
 * update:2004-5-27 19:02 
 *--------------- GetResult(str) ----------------- 
 */ 
    var oBao = new ActiveXObject("Microsoft.XMLHTTP"); 
    oBao.open("POST","Server.asp?sel="+str,false); 
    oBao.send(); 
    //服务器端处理返回的是经过escape编码的字符串. 
    //通过XMLHTTP返回数据,开始构建Select. 
    BuildSel(unescape(oBao.responseText),document.all.sel2) 

function BuildSel(str,sel) 

/* 
 *--------------- BuildSel(str,sel) ----------------- 
 * BuildSel(str,sel)  
 * 功能:通过str构建Select. 
 * 参数:str,字符串,由服务端返回的.有特定结构"字符串1,字符串2,字符串3" 
 * 参数:sel,要构建的Select 
 * 实例:BuildSel(unescape(oBao.responseText),document.all.sel2) 
 * author:wanghr100(灰豆宝宝.net) 
 * update:2004-5-27 19:02 
 *--------------- BuildSel(str,sel) ----------------- 
 */ 
    //先清空原来的数据. 
    sel.options.length=0; 
    var arrstr = new Array(); 
    arrstr = str.split(","); 
    //开始构建新的Select. 
    for(var i=0;i<arrstr.length;i++) 
    { 
        sel.options[sel.options.length]=new Option(arrstr,arrstr) 
    } 

</script> 
<select name="sel" onChange="GetResult(this.value)"> 
<option value="">请选择 
<option value="福建省">福建省 
<option value="湖北省">湖北省 
<option value="辽宁省">辽宁省 
<select> 
<select name="sel2"></select>

server.asp  服务器端处理. 
代码如下:
<% @Language="Javascript" %> 
<% 
function OpenDB(sdbname) 

/* 
 *--------------- OpenDB(sdbname) ----------------- 
 * OpenDB(sdbname)  
 * 功能:打开数据库sdbname,返回conn对象. 
 * 参数:sdbname,字符串,数据库名称. 
 * 实例:var conn = OpenDB("database.mdb"); 
 * author:wanghr100(灰豆宝宝.net) 
 * update:2004-5-12 8:18 
 *--------------- OpenDB(sdbname) ----------------- 
 */ 
    var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname); 
    var conn = Server.CreateObject("ADODB.Connection"); 
    conn.Open(connstr); 
    return conn; 

var oConn = OpenDB("data.mdb"); 
var province = Request("sel"); 
var arrResult = new Array(); 
var sql = "select city from china where province=+province+"; 
var rs = Server.CreateObject("ADODB.Recordset"); 
rs.Open(sql,oConn,1,1); 
while(!rs.EOF) 

    //遍历所有适合的数据放入arrResult数组中. 
    arrResult[arrResult.length] = rs("city").Value; 
    rs.MoveNext(); 

//escape解决了XMLHTTP。中文处理的问题. 
//数组组合成字符串.由","字符串连接. 
Response.Write(escape(arrResult.join(","))); 
%>

数据库设计 
data.mdb 
表china. 
字段 
id  自动编号 
province 文本 
city  文本 
表:china 数据:  
id province city 
1 福建省  福州市 
2 福建省  厦门市 
3 福建省  泉州市 
4 湖北省  武汉市 
5 湖北省  荆州市 
6 湖北省  宜昌市 
7 辽宁省  沈阳市 
8 辽宁省  大连市 
9 辽宁省  盘锦市

热心网友 时间:2022-05-19 21:50

function findObject(fName,initValue){
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//注意修改jsp页面
xmlhttp.send();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //bytes2BSTR函数在bytetostr.js中
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
妇科的止血药有哪些 妇科用的止血药有哪些 妇科止血药的功效 人艰不拆是啥意思 汉酱51 度酱香型白酒多少钱?味道怎么样? 穿凉鞋可以穿袜子吗?凉鞋发黄怎么变白? 爱奇艺vip投屏限制怎么办 爱奇艺vip投屏视频限制怎么解决 支付宝怎样解除关联的支付宝账号? 剑圣叫什么名字 ...政策?这个政策的目的是什么?会对经济有什么影响? 2017年高考的考生,艺考什么时候报名开始,怎么报名,大概需要什么流程! 怎么艺考服装表演专业? 我是高三音乐生,声乐比较突出,想出国留学,家庭方面经济不会支持,有没有可以自己打工读书的国家? 高三音乐艺术生 音乐生高三就要考试了,从高一才开始学钢琴,会不会太迟了?钢琴还是主专业! 音乐生到高三时,是出去参加集训还是继续在学校上文化课,每周上几节声乐课呢? 哪些平台叫互联网? 请大家进来说一下自己的保险险种(非投资分红) 平板电脑能当监控的显示器用吗? 保险公司 暴雨提示信息 需要怎么样做才能实现用平板电脑看超市的监控图像?? 我上次车险报案日期为上个保险周期,结案为这个保险周期。我这周期一 平板电脑连接∪sb外置像头可做监控显示器吗 我一年中出过二次车险,是否到买强制险的时候要加钱? 平板电脑可以当监视器吗 中保车险条款中指定汽修厂是指如果车损必须在那修吗 平板电脑如何做监控 平板电脑可以当监视器用吗 现在网贷都怎么回事啊,都是还了就借不出来 现在网贷还了是不是都借不出来了 为什么酷我音乐自动下载的歌曲全是wma格式?怎么才能换成mp3格式的? 凤阳山-百山祖 从宁波一路游到丽水,哪些地区的景点可以游览 个人所得税不退会过期吗 悦刻一代烟杆怎么清理? 悦刻三代白色烟杆脏了 悦刻五代烟杆怎么拆卸 麦克牌的电子烟杆怎么拆开 如何把电子烟杆弄坏换新 悦刻3代白色烟杆怎么清理 PHP 二级联动问题 金蝶ERP销售怎么做 金蝶erp 销售价格折扣怎么操作 金蝶erp系统销售出库单标记为审核未通过怎么改? 做软件销售:泛微OA、金蝶用友ERP,目前哪个有发展前景?晋升机会,待遇等方面 金蝶erp系统当月销售出库下月再下推发票可以吗 最强NBA怎么获得球星 球星获得方法详解 最强NBA球星怎么获得 球星获得方法 最强NBA手游球星如何获得 最强NBA球星获得方法 最强NBA球星兑换卡怎么获得 球星兑换卡获得