AJAX 二级级联菜单实现代码

客户端代码:


代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript">
var xmlHttp;
var a =new Array();
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function send_request(){
createXMLHttpRequest();
var year = document.getElementById("year");
var url = "check_2.php?page="+escape(year.value);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = checkit;
xmlHttp.send(null);
}
function checkit(){
if(xmlHttp.readystate == 4){
if(xmlHttp.status == 200){
showChild();
}
}
}
function showChild(){
var xmlDoc=xmlHttp.responseXML;
var content=xmlDoc.getElementsByTagName("city");
for(var i=0;i<content.length;i++){
var y=content[i];
a[i]=y.childNodes[0].data;
}
show1();
}
function show1(){
var obj=document.getElementById("name");
var number=obj.length;
for(var j=obj.length-1;j>=0;j--){
obj.removeChild(obj.childNodes.item(j));
}
for(var i=0;i<a.length;i++){
var opt=document.createElement("OPTION");
opt.text=a[i];
obj.add(opt);
}
}
</script>
<body>
年份:<select id="year" onchange="send_request()">
<option value="0">请选择</option>
<option value="1">1996-2006</option>
<option value="2">1986-1995</option>
<option value="3">1971-1985</option>
<option value="4">1970以前</option>
</select>
子目录:<select id="name">
<option value="0">请选择</option>
</select>
</body>
</html>

服务器端代码:


代码如下:

<?php
header('Content-type: text/xml');
$xml="<?xml version='1.0' encoding='GB2312'?>";
$year = $_GET["page"];
$content = $xml."<contents>";
if($year == "1"){
$content = $content."<city>1</city><city>11</city></contents>";
}
else if($year == '2'){
$content = $content."<city>2</city><city>12</city></contents>";
}
else if($year == '3'){
$content = $content."<city>3</city><city>13</city></contents>";
}
else if($year == '4'){
$content = $content."<city>4</city><city>14</city></contents>";
}
echo $content;
?>

(0)

相关推荐

  • 一个强健 实用的asp+ajax二级联动菜单(有演示和附源程序打包下载)

    一个强健 实用的ajax二级联动菜单(有演示和附源程序打包下载) 前些天在搞后台的时候要用到二级联动的菜单,到网上去找了半天也没找到满意的,不是这错就是那错,在选择的时候有时候不能返回.真是郁闷.     后来就看到有人用ajax写了无限级分类(牛,呵呵,本人看不懂.).就想到我那个后台不也可以用ajax试试,虽然比用javascript的慢点,但我这个实用.强健..不会出错,也不会选择某个大类后再返回无选择状态小类为空的状态.呵呵.文件目录:如图 主要代码如下:index.asp 复制代码 代

  • ajax读取数据库内容实现二级联动下拉选择菜单示例

    复制代码 代码如下: <PRE class=javascript name="code"></PRE><PRE class=javascript name="code">---------------------这是ajax(javascript)代码---------------------------</PRE><PRE class=javascript name="code">&l

  • jQuery+ajax实现无刷新级联菜单示例

    前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 CasMenu.aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC &quo

  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计.分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id. 数据库有内容后,就可以开始写代码,进行二级联动的实现. 先在后台php获取所有pid为0的数据,保存到$cate中,然后在第一层的<select>中用foreach循环输出. Html代码: 复制代码 代码如下: <select name="type" s

  • Ajax+Json 级联菜单实现代码

    第一个下拉框: 复制代码 代码如下: <select id="select" name="rawfoodBasic.category" onchange="doChange(this.value);"> //第一个下拉框里的值 </select> 第二个下拉框: 复制代码 代码如下: <select id="subSelect" name="rawfoodBasic.absorb&quo

  • Ajax级联菜单实例代码

    1.Ajax.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head>    <title

  • Javascript级联下拉菜单以及AJAX数据验证核心代码

    虽然也使用了Prototype.js来编写,但是由于对它的不了解,类的实现仍然是使用了<JavaScript高级程序设计>里的方法.使用AJAX进行数据验证时,最初使用的是XML来当数据源,然而在使用了一段时间后,发现XML效率太低,于是又使用JSON来做为数据源. 一年过去了,客户又提出了新的需求,最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次. 需求: 1.根据下拉菜单产品名称.产品包装的选择,右面的图片要进行相应的变化.

  • 基于asp+ajax和数据库驱动的二级联动菜单

    index.asp 页面代码 复制代码 代码如下: <!--#include file="conn.asp" --> <% set cmd = conn.execute("select bigclassid,bigclassname from bigclass") tempid=cmd("bigclassid") %> <select name="menu" onChange="gets

  • ajax级联菜单实现方法实例分析

    本文实例讲述了ajax级联菜单实现方法.分享给大家供大家参考,具体如下: 效果如下: 选择第一项,第二项.第三项的内容跟着改变. 选择第二项,第三项的内容跟着改变. 第三项则不影响第一项和第二项. 有几点值得提: 1.html到底是前台拼接还是后台拼接. 我选择的是前台拼接,这样可以节省流量,和后台的资源.这也比较符合程序处理,一般后台只负责提供数据. 通过json传递给前台,完了前台获取进行处理. ajax函数 function ajaxgetbigclass(val){ $.ajax({ t

  • 前台JS(jquery ajax)调用后台方法实现无刷新级联菜单示例

    前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 CasMenu.aspx页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr

  • 利用了jquery的ajax实现二级联互动菜单

    菜单资源保存在数据库中.利用了jquery的ajax实现.用到的包有:json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar json.js jquery.js jsp页面的代码: 复制代码 代码如下: <%@ page contentType="text/html; charset=gbk"%> <%@ taglib prefix="s" uri="/struts-tags"%> <s

  • AJAX实现web页面中级联菜单的设计

    看了大峡搞的级联菜单,我也班门弄斧一把,嘿嘿,花了一点时间搞了个级联菜单贴上来看看.本例中只要你选择成员分类名称就会自动显示成员名称:     首先在eclipse中建一个项目,名称你自己做主了,这里为Easyjf-menu,对应的浏览器页面代码为:  Easyjf-menu.jsp  <@page contentType="text/html;charser=UTF-8" language="java"%>  <head>    --..

随机推荐