jsp中的对象的 onchange 事件
做了N久的.Net 突然转过来做java 感觉好陌生了。好多都不知道了。
如题:第一个<select><option>顶级类别</option></select> 我需要在这个下拉列表中改变值的时候,让我的这个<select><option>下属类别</option></select>的值同步,我知道js可以写,但是不知道怎么写了,那位仁兄帮我写个例子 好不?
如题:第一个<select><option>顶级类别</option></select> 我需要在这个下拉列表中改变值的时候,让我的这个<select><option>下属类别</option></select>的值同步,我知道js可以写,但是不知道怎么写了,那位仁兄帮我写个例子 好不?
...全文
请发表友善的回复…
发表回复
youjianbo_han_87 2008-10-16
- 打赏
- 举报
直接用js,很方便,和做.net和java没什么关系
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript">
function changeCity()
{
var privence = document.getElementById('privence');
var privenceArr = privence.options;
var index = privence.selectedIndex;
var city = document.getElementById('city1');
if(index == 1)
{
city.options.length=0;
var optionLinyi = new Option('临沂','linyi');
var optionJinan = new Option('济南','jinan');
var optionRizhao = new Option('日照','rizhao');
city.options.add(optionLinyi);
city.options.add(optionJinan);
city.options.add(optionRizhao);
}else if(index == 2)
{
city.options.length=0;
var optionNanchang = new Option('南昌','nanchang');
var optionFuzhou = new Option('抚州','fuzhou');
var optionGanzhou = new Option('赣州','ganzhou');
city.options.add(optionNanchang);
city.options.add(optionFuzhou);
city.options.add(optionGanzhou);
}else
{
city.options.length=0;
}
}
</script>
<body>
<form>
<table>
<tr>
<td>
<select name="privence" style="width:100px;" id="privence" onChange="changeCity()">
<option>请选择省份</option>
<option value="shandong">山东</option>
<option value="jiangxi">江西</option>
</select>
</td>
<td>
<select name="city1" style="width:100px;" id="city1">
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript">
function changeCity()
{
var privence = document.getElementById('privence');
var privenceArr = privence.options;
var index = privence.selectedIndex;
var city = document.getElementById('city1');
if(index == 1)
{
city.options.length=0;
var optionLinyi = new Option('临沂','linyi');
var optionJinan = new Option('济南','jinan');
var optionRizhao = new Option('日照','rizhao');
city.options.add(optionLinyi);
city.options.add(optionJinan);
city.options.add(optionRizhao);
}else if(index == 2)
{
city.options.length=0;
var optionNanchang = new Option('南昌','nanchang');
var optionFuzhou = new Option('抚州','fuzhou');
var optionGanzhou = new Option('赣州','ganzhou');
city.options.add(optionNanchang);
city.options.add(optionFuzhou);
city.options.add(optionGanzhou);
}else
{
city.options.length=0;
}
}
</script>
<body>
<form>
<table>
<tr>
<td>
<select name="privence" style="width:100px;" id="privence" onChange="changeCity()">
<option>请选择省份</option>
<option value="shandong">山东</option>
<option value="jiangxi">江西</option>
</select>
</td>
<td>
<select name="city1" style="width:100px;" id="city1">
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
dujun3245350 2008-10-16
- 打赏
- 举报
用ajax很快的
niaowxf 2008-10-16
- 打赏
- 举报
谢谢 我把代码拿下去处理下
niaowxf 2008-10-16
- 打赏
- 举报
大家说的我都知道 其实我是要联动 我要从数据库读数据,结分了
feng8008 2008-10-15
- 打赏
- 举报
google 级联菜单
leiru 2008-10-15
- 打赏
- 举报
楼上写的很好啊。。
不过也可以在表中建立联动。。
不过也可以在表中建立联动。。
ouyangxiaokang6 2008-10-15
- 打赏
- 举报
下面是个简单的例子,看能满足需求吗?
不行group可以加值
不行group可以加值
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!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>caidan</title>
</head>
<body>
<center><h1>caidan</h1></center>
<div align="center"><form name="isc">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
顶级类别
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>顶级类别1</option>
<option>顶级类别2</option>
<option>顶级类别3</option>
<option>顶级类别4</option>
</select>
下属类别
<select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value=" " selected>下属类别1</option>
<option value=" ">下属类别2</option>
<option value=" ">下属类别3</option>
<option value=" ">下属类别4</option>
</select>
</table>
</form>
</div>
<script language="JavaScript">
<!--
var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("下属类别1");
group[1][0]=new Option("下属类别2");
group[2][0]=new Option("下属类别3");
group[3][0]=new Option("下属类别4");
var temp=document.isc.stage2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++) {
secondGroup[i][j]=new Array() }}
var temp1=document.isc.stage3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
</script>
</body>
</html>
自己收集的jsp分页代码。对于北大青鸟Y2的学员可能有用吧。自己也在做这个项目。这里有增、删、该、查加分页。有上一页、下一页、首页、尾页、第几页、还有带数字和点的分页。可以说是非常好的分页代码。想要的朋友自己处下载
<%@ page contentType="text/html; charset=GB2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
ResultSet sqlRst=null;
//java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize = 2;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
} else{
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
%><%
String DBUser="sa";
String DBPassword="88029712";
//String DBServer="127.0.0.1"zjprice;
String DBUrl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//创建语句对象
//Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
sqlCon=java.sql.DriverManager.getConnection(DBUrl,DBUser,DBPassword);
sqlStmt=sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行SQL语句并获取结果集
String sql=null;
String search="";
String ToPage=request.getParameter("ToPage");
if(request.getParameter("search")!=null
&&!request.getParameter("search").equals(""))
{search=new String(request.getParameter("search").trim().getBytes("8859_1"));
}
sql="select top 50 au_id,au_lname from authors ";
/*sql="select*from ta,tb where id like'%"+search+"%'";
sql=sql+"or title like'%"+search+"%'";
sql=sql+"or time like'%"+search+"%'";
sql=sql+"or con like'%"+search+"%'";
sql=sql+"order by id";*/
sqlRst=sqlStmt.executeQuery(sql);
//获取记录总数
sqlRst.last();
intRowCount = sqlRst.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
test
<%
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
%>
标题id | 内容表 | ||||||
---|---|---|---|---|---|---|---|
<%=sqlRst.getString(1)%> | <%=sqlRst.getString(2)%> | ||||||
共有<%= intRowCount %>条记录 当前<%=intPage%>/<%=intPageCount%>页
<% if(intPageCount > 1){ %>
<% if(intPage !=0){%> 首页
<%}if(intPage != 1){%>上一页
<%}if(intPage |