一.servlet构造出的AJAX返回的XML文件:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
String factoryid = request.getParameter("factoryid");
String specialid = request.getParameter("specialid");
ConnDB db = new ConnDB();
Connection con = db.getConn(this);
//从ORACLE取测点名称值及类型
String sql = "select menuname,logid from sys_runmenu where menutype = 'D'" ;
if(!factoryid.equals("all")){
sql = sql+" and to_number(factory) = '"+factoryid+"'";
}
if(!specialid.equals("all")){
sql = sql+" and specialty = '"+specialid+"'";
}
try {
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
logger.info(sql);
if(rs !=null){
out.println("<logs>");
logger.info("<logs>");
while(rs.next()){
out.println("<logid>"+rs.getString("logid")+"</logid>");
logger.info("<logid>"+rs.getString("logid")+"</logid>");
out.println("<logname>"+rs.getString("menuname")+"</logname>");
logger.info("<logname>"+rs.getString("menuname")+"</logname>");
}
out.println("</logs>");
logger.info("</logs>");
}
}catch(Exception e){
e.getMessage();
}
finally{
db.close();
}
}
二.页面上进行解析:
// 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
var len = http_request.responseXML.getElementsByTagName("logid").length;
if(len>0){
deloption();
for(var i=0;i<len;i++){
var logname=http_request.responseXML.getElementsByTagName("logname")[i].firstChild.data;
var logid = http_request.responseXML.getElementsByTagName("logid")[i].firstChild.data;
addoption(logname,logid);
}
}else{
alert("所选择运行单位或专业没有日志!");
}
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
三.清除列表框内容的JS:function deloption(){
var len = document.all.logid.options.length;
for(var i = len;i>=0;i--){
document.all.logid.options[i] = null;
}
}
三.增加列表框内容的JS:
function addoption(logname,logid){
var len = document.all.logid.options.length;
document.all.logid.options[len] = new Option(logname,logid);
}
分享到:
相关推荐
如下所示: <!DOCTYPE html> <html> <head> <title>排课设置<...content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">...link rel="stylesheet
本篇文章主要介绍了ajax实现动态下拉框示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
AJAX 动态下拉框eclipse ,及数据
AJAX-DWR下拉框级联AJAX-DWR下拉框级联 真正实用的`仅供参考
jquery,ajax动态加载下拉框数据(前端js发送ajax请求,后端查询数据库,得到数据,返回前端),GET,
AJAX二级下拉框联动 - justshare - JavaEye技术网站
Ajax 无限级 联动下拉框
EXTJS 选下拉框,并取得下拉框的值,直接可以打开
Ajax实现下拉框三级联动,实现数据库动态连接,无刷新动态更新 MyEclipse+Ajax+SQL Server 2005
jQGrid动态填充select下拉框的选项值(动态填充)
ajax 实现 (全国,省,是,区....) N级联 Demo js: <script type="text/javascript"> $(function () { $.fn.CascadeSelect({ url: '/CascadeSelect/CascadeSelect.ashx', //返回Json数据的一般处理文件 idKey: ...
ajax 自动 提示,输入框输入数据,会出现提示下拉框,有源码,可在Myeclipse下运行,简单易用,适合初学者
JSF加入Ajax功能的下拉框自定义组件,含源代码。
AJAX级联下拉框源码 AJAX级联下拉框源码 AJAX级联下拉框源码
使用js可以取得多个下拉框的值的一个简单的例子
下拉框 ajax 注册 下拉框 ajax 注册 下拉框 ajax 注册
js实现通过改变下拉框的值,输出相应的下拉框的value
Ajax_实现下拉框的联动效果(详细注释) 有源码程序
Asp+Ajax无限级联动下拉框菜单Access版
jquery 实现ajax动态加载下拉框搜索框内容。