⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample6_8.jsp

📁 《Ajax开发精要〉〉该书详细的介绍了关于Ajax和java相关的开发知识
💻 JSP
字号:
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.ajaxlab.ajax.*"%>
<%
ClassService service = new ClassService();
ProductClass[] classes = service.getAllClass1();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Ch06--案例:级联下拉列表</title>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<script language="javascript" src="ajax_func.js"></script>
<script language="javascript">

function doChange() {
	var f = document.forms[0];
	send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id=",null,"TEXT",populateClass2);
}

function populateClass2() {
	var f = document.forms[0];
	if (http_request.readyState == 4) { // 判断对象状态
		if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
			//alert(http_request.responseText);
			var list = http_request.responseText;
			var classList = list.split("|");
			f.select12.options.length = 1;
			for(var i=0;i<classList.length-1;i++) {
				var temp = Trim(classList[i]).split(",");
				f.select12.add(new Option(temp[1],temp[0]));
			}
		} else { //页面不正常
			alert("您所请求的页面有异常。");
		}
	}
}

function doChange2() {
	var f = document.forms[0];
	send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id="+f.select12.value,null,"TEXT",populateClass3);
}

function populateClass3() {
	var f = document.forms[0];
	if (http_request.readyState == 4) { // 判断对象状态
		if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
			//alert(http_request.responseText);
			var list = http_request.responseText;
			var classList = list.split("|");
			f.select13.options.length = 1;
			for(var i=0;i<classList.length-1;i++) {
				var temp = Trim(classList[i]).split(",");
				f.select13.add(new Option(temp[1],temp[0]));
			}
		} else { //页面不正常
			alert("您所请求的页面有异常。");
		}
	}
}

function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
function Trim(str)
{
    return RTrim(LTrim(str));
}
</script>
</head>

<body><center>
<form name="classForm" method="post" action="">
<select name="select11" id="select11" onchange="doChange(this.value)">
	<option value="">请选择分类一</option>
	<%
	for(int i=0;i<classes.length;i++) {
		out.println("<option value='"+classes[i].getId()+"'>"+classes[i].getClassName()+"</option>");
	}
	%>
</select>
&nbsp;
<select name="select12" id="select12" onchange="doChange2(this.value)">
	<option value="">请选择分类二</option>
</select>
&nbsp;
<select name="select13" id="select13">
	<option value="">请选择分类三</option>
</select>
</form>
</center></body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -