编程社区 » web开发 » 动态下拉式菜单 --在线等

动态下拉式菜单 --在线等


ccw1004



 发表:

动态下拉式菜单 --在线等


这是一个学校 <教师选课> 的修改页面

一般静态下拉式菜单都有个默认值
例:
<select name="select">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
默认值的关键在于 "selected" 这个词


下面

实现 动态下拉式菜单 是关系到"subject"(课程)和"teacher"(教师) 2个表里的值


如何对比"subject"和"teacher" 2个表的值 动态的输入上面"selected" 这个词呢?

或者大家有例子的话 给我一份参考
ccw1004@163.com
QQ 190870907


ccw1004
回复:

补充一下

循环列出表 "subject"(课程)和"teacher"(教师) 2个表里的 tea_name 值 相等的话

就输入"selected" 这个词

aaa2003gf
回复:

可以搞定就是个算法的问题,一顿循环处理,复杂的条件判断

ccw1004
回复:

是啊 在循环中进行判断 然后确定默认值

楼上的所言甚是

ccw1004
回复:

顶一下
有人能把代码列出吗? 我不知道怎么写出来

kaukiyou
回复:

用AJAX简单实现。

ccw1004
回复:

楼上的谢谢你的介绍AJAX
但是我还是刚入门 先把基础的学好吧!

-------------------------------贴出代码-------------------------------------------
<title>教师资料修改</title>

<body>
<%
//获得URL参数
String id=request.getParameter("sub_id");
session.setAttribute("urlid",id);
//连接数据库
Class.forName(CLASSFORNAME);
Connection con = DriverManager.getConnection(SERVANDDB,USER,PWD);
//建立实例
Statement statement=con.createStatement();
ResultSet result=statement.executeQuery("select * from subject where sub_id='" + id + "' ");
ResultSet result2=statement.executeQuery("select tea_name from teacher");
%>
<form id="form1" name="form1" method="post" action="">
<table width="50%" border="1" align="center">
<tr>
<td colspan="3"><div align="center">

选科信息修改</p>
</div></td>
</tr>
<% while(result.next()) { %>
<tr>
<td width="51%"><div align="center">学期</div></td>
<td width="49%" colspan="2"><input name="subterm" type="text" id="subterm" value="<%= result.getString("sub_term") %>" size="20" maxlength="20" /></td>
</tr>
<tr>
<td><div align="center">班级</div></td>
<td colspan="2"><input name="subclass" type="text" id="subclass" value="<%= result.getString("sub_class") %>" size="20" maxlength="20" /></td>
</tr>
<tr>
<td><div align="center">科目</div></td>
<td colspan="2"><input name="subsubject" type="text" id="subsubject" value="<%= result.getString("sub_subject") %>" size="20" maxlength="20" /></td>
</tr>
<tr>
<td><div align="center">科任教师</div></td>
<td colspan="2">
<select name="teaname" id="teaname">

<% while(result2.next()) { %>

<option value="<%=result2.getString("tea_name")%>" if(判断){out.print("selected");} > <%=result2.getString("tea_name")%> </option>
<% }
result2.close();
%>
</select>
</td>
</tr>
<% }
result.close();
statement.close();
con.close();
%>
<tr>
<td>
</td>
<td><input type="submit" name="Submit" value="提 交" /></td>
</tr>
</table>
</form>

ccw1004
回复:

自己顶下

ccw1004
回复:

跪求各位兄弟姐妹要帮忙呀``小弟在弄毕业设计的说
无尽感激 毕生难忘~~

rongdajian
回复:

不好意思哈!我还是不太明白你的意思,能不能说得明白一点呢!看看我能不能搞定!好吧!

King6860
回复:

给你个简单的思路:
使用XML和HTML 就可以完成。

1、写个SERVLET 生成一定格式的XML,然后使用 js 的 和 xml 的DSO 解析,就OK。

<xml id="city"></xml>

function fnGetCity(cityID)
{
// 这里就 配置你的 SERVLET 的访问路径就 ok。
city.src = "http://localhost/HelloApp/Lottery.do?op=getAreaInfoXML&parentID="+cityID;
//alert('');
fnInitCity();
}

function fnInitCity()
{
var i=1;
var inter;
if(city.readyState == "complete")
{
document.getElementById("selThree").length=1;
if(!(city.recordset.BOF && city.recordset.EOF))
{
while(!city.recordset.EOF)
{
var option = new Option(city.recordset.fields(1),city.recordset.fields(0));
option.style.color="red";
document.getElementById("selThree").options[i] = option;
city.recordset.moveNext();
i++;
}
}
window.clearTimeout(inter);
return;
}
else
{
inter = window.setTimeout(fnInitCity,1000);
}
}

ccw1004
回复:

感谢楼上两位兄弟伸出温暖之手~~
我还是刚入门 就晓得用纯JSP方法编写 至于后面用到的 SERVLET 和JavaScript 我还是比较模糊

上面代码 问题所在就是这里↓

<option value="<%=result2.getString("tea_name")%>" if(判断){out.print("selected");} > <%=result2.getString("tea_name")%> </option>

theforever
回复:

填空,但不写具体代码了,看明白就会写了:
循环开始
  定位变量 老师名称=result2.getString("tea_name");
  <option value="<%=老师名称%>"
   IF(老师名称==课程.取任课老师(相关联的前一菜单所选的课程名称)){%》
     selected
   《%}%》
   老师名称</option>
循环结束

theforever
回复:

毕业设计求人,不是好开端。多努力点吧。

qczl1224
回复:

/*
* 创建日期 2005-12-9
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.ch.net.usertag;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import com.ch.core.daos.DAOCommand;
/**
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class BTAGDropdown extends TagSupport
{
private String tabName;
private String fieldName;
private String fieldID;
private String orderByField;
private String orderByType;
private String whereCon;
private String id;
private String href;
private String name;
/**
* @return
*/
public String getTabName()
{
return tabName;
}
/**
* @param string
*/
public void setTabName(String string)
{
tabName = string;
}
public int doStartTag() throws JspException
{
try
{
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
StringBuffer sbOut = new StringBuffer();
doOutHtml(sbOut);
pageContext.getOut().print(sbOut);
}
catch (Exception e)
{
e.printStackTrace();
}
return EVAL_PAGE;
}
private void doOutHtml(StringBuffer sbOut) throws Exception
{
ArrayList l = getSqlArray();
Iterator it = l.iterator();
if (href != null)
{
while (it.hasNext())
{
HashMap map = (HashMap) it.next();
String sID = null;
String sName = map.get(fieldName).toString();
if (fieldName.equals(fieldID))
sID = sName;
else
sID = map.get(fieldID).toString();
sbOut.append("<a href=" + href + "?ID=" + sID + " target=tabs>" + sName + "</a> ");
}
}
else
{
sbOut.append("<select name='" + fieldName + "' id='" + fieldName + "'> ");
if (name != null && "0".equals(id))
{
sbOut.append("<option value=0>" + name + "</option>");
}
System.out.println("BTAGDropdown下拉菜单默认停留ID=========="+id);
while (it.hasNext())
{
HashMap map = (HashMap) it.next();
String sID = null;
String sName = map.get(fieldName).toString();
if (fieldName.equals(fieldID))
sID = sName;
else
sID = map.get(fieldID).toString();
if (id != null)
{
if (sID.equals(id))
{
sbOut.append("<option value='" + sID + "' selected>" + sName + "</option>");
System.out.println("BTAGDropdown下拉菜单默认停留名字=========="+sName);
}
else
{
sbOut.append("<option value='" + sID + "'>" + sName + "</option>");
}
}
else
{
sbOut.append("<option value='" + sID + "'>" + sName + "</option>");
}
}
sbOut.append("</select>");
}
}
public ArrayList getSqlArray() throws Exception
{
ArrayList list = null;
try
{
DAOCommand dao = new DAOCommand();
StringBuffer sqlBF = new StringBuffer();
String sql = null;
sqlBF.append("SELECT DISTINCT ");
sqlBF.append(fieldName);
if (!fieldID.equals(fieldName))
{
sqlBF.append(",");
sqlBF.append(fieldID);
}
if (orderByField != null)
{
if (!orderByField.equalsIgnoreCase(fieldID) && !orderByField.equalsIgnoreCase(fieldID))
{
sqlBF.append(",");
sqlBF.append(orderByField);
}
}
sqlBF.append(" FROM ");
sqlBF.append(tabName);
if (whereCon != null && whereCon.trim().length() > 0)
{
sqlBF.append(" WHERE ");
sqlBF.append(whereCon);
}
if (orderByField != null && orderByField.trim().length() > 0)
{
sqlBF.append(" ORDER BY ");
sqlBF.append(orderByField);
if (orderByType != null && orderByType.equalsIgnoreCase("DESC"))
{
sqlBF.append(" ");
sqlBF.append(orderByType);
}
}
System.out.println("BTAGDropdown执行了这个SQL语句=;" + sqlBF);
sql = sqlBF.toString();
ArrayList paraList = new ArrayList();
list = dao.executeQuery(sql, paraList);
}
catch (Exception e)
{
e.printStackTrace();
}
return list;
}
/**
* @return
*/
public String getFieldName()
{
return fieldName;
}
/**
* @param string
*/
public void setFieldName(String string)
{
fieldName = string;
}
/**
* @return
*/
public String getFieldID()
{
return fieldID;
}
/**
* @param string
*/
public void setFieldID(String fieldID)
{
this.fieldID = fieldID;
}
/**
* @return
*/
public String getWhereCon()
{
return whereCon;
}
/**
* @param string
*/
public void setWhereCon(String whereCon)
{
this.whereCon = whereCon;
}
/**
* @return
*/
public String getId()
{
return id;
}
/**
* @param string
*/
public void setId(String string)
{
id = string;
}
/**
* @return
*/
public String getHref()
{
return href;
}
/**
* @param string
*/
public void setHref(String string)
{
href = string;
}
/**
* @return
*/
public String getName()
{
return name;
}
/**
* @param string
*/
public void setName(String string)
{
name = string;
}
/**
* @return
*/
public String getOrderByField()
{
return orderByField;
}
/**
* @param string
*/
public void setOrderByField(String string)
{
orderByField = string;
}
/**
* @return
*/
public String getOrderByType()
{
return orderByType;
}

/**
* @param string
*/
public void setOrderByType(String string)
{
orderByType = string;
}

}

qczl1224
回复:

用usertag 做net的标签

<net:Dropdown fieldID="PROVINCEID" fieldName="PROVINCENAME" tabName="PROVINCE" whereCon="<%=strWhereCon%>" id="<%=provinceID%>"></net:Dropdown>

id字段就是默认停留的ID

ccw1004
回复:

theforever(碧海情天) ( ) 信誉:100 2006-4-7 15:13:09 得分: 0



毕业设计求人,不是好开端。多努力点吧。



嗯 努力是必然是 我可是走头无路啦
书也翻了 百度也去了 google也去了 这里也来了 磨蹭了3天 谢谢你哈


相关文章
时间控件的问题
java/jsp中如何实现弹出对话框选择要保存的文件的路径
请问在做网页时,如果javabean中需要有需要自行导入的包,需要把包放在哪个目录下???
还分100~~乱码问题~~谢谢那几位兄弟~~
一个关于tomcat5.0连接SQL Server2000数据库的问。。希望大家帮忙。。
我这个简单的JSP为什么产生空指针异常?
一个servlet里调用javascript的小问题,大家帮忙看看!
十万火急啊!如何编写日志文件!
在servlet中把对象数组放进session,怎么在JSP页中取出来?
怎么样在java中获得并控制一个进程所使用的内存大小
请大家帮忙看看这个聊天室是什么错误?如何解决
关于分页显示页码的问题,火急~~
热门文章
java.net.ConnectException: Connection refused: connect的问题求救.
关于session超时处理的问题
求救:关于查询,大家看看有什么问题??
java/jsp中如何实现弹出对话框选择要保存的文件的路径
form提交到另一个页面时如何设置新页面的大小
求,怎样让点击过的链接变色,跟其他为点击链接不同
用itext读取服务器pdf文件,转为普通htm显示在网页上,求例子!!!!
IText 的问题
jsp中怎么打开ppt文件,不出现保存对话框
如何实现窗口全屏显示
在JSP中select多选时提交后在下一页面中怎样得到所选的内容?
为什么使用了utf-8中文还是乱码呢?

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex