📄 sample6_8.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>
<select name="select12" id="select12" onchange="doChange2(this.value)">
<option value="">请选择分类二</option>
</select>
<select name="select13" id="select13">
<option value="">请选择分类三</option>
</select>
</form>
</center></body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -