当前位置: 代码迷 >> Java Web开发 >> 关于动态select有关问题和数据进行合并有关问题。有图有代码 求救~
  详细解决方案

关于动态select有关问题和数据进行合并有关问题。有图有代码 求救~

热度:529   发布时间:2016-04-17 00:23:17.0
关于动态select问题和数据进行合并问题。有图有代码 求救~~~~~
这个问题原先问过一次可能是因为我没说的太明白所以也没找到答案……这次上图 上代码。

我想编写一个简单的材料管理系统,所以页面需要一个动态的select菜单(不仅仅要连接到数据库上)



这个图上可以看到有一个下拉菜单,因为是要运用到材料管理系统所以需要操作N个项目(N不确定),这样我就希望可以JSP能自动生成select菜单(自动生成的菜单内项目和原有项目一样,为的是再选择需要更改的项目数)我的代码如下:
HTML code
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Insert title here</title></head><body><jsp:useBean id="conn_idname" class="com.connection_idname" /><%String sql="select id_name from tab_name";ResultSet rs=conn_idname.executeQuery(sql);%><form action="result.jsp" method="post"><select name="id_name"><option value="">请选择<%try{    while(rs.next()){    //    String id_name=rs.getString("id_name");        %>    <option value="<%=rs.getString("id_name") %>"><%=rs.getString("id_name") %></option>    <%    }}catch(Exception e){}%></select>请输入订货量:<input type="text" name="num_text"><br><input type="submit" value="enter"></form></body></html> 

下面说说数据进行合并的问题,当我从第一页(也就是上面的代码)中的到需要处理的N个数据,这时候从数据库中返还回这些物品需要的材料,这些材料中肯东会有重复的,如何能让这些重复的数据进行叠加,不重复的罗列在数据下面。刚开始我想用hashtable,例如:我选择了4个项目进行操作 这个时候第一个项目所需要的材料值放进hashtable-1中第二项放进hashtable2中,将hashtable1和hashtable2进行比较操作一样的累加不一样的罗列更新hashtable1,然后将hashtable2清空放进第三个项目的数据放进去,再把hashtable2和1比较操作……以此类推得到最终所要的数据。

这些只是想法不知道怎么实现,还望有明白的大神进来提点两句。

如果描述的还是不明白的话,发通知给我我再解释下,谢谢。

------解决方案--------------------
这个问题可以使用ajax来实现,跟省市联动差不多,给你代码,你自己改改
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
 
<title>My JSP 'province.jsp' starting page</title>
 
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function loadXMLDoc()
{
xmlhttp = null;
var country = document.getElementById("country");
country.length = 1;
country.selectedIndex = 0;
var province = document.getElementById("province");
if(province.value == ""){
return ;
}
var url="http://localhost:8080/Ajax_Province/GetProvince?&province="+encodeURIComponent(province.value);
if (window.XMLHttpRequest) {// code for Firefox, Mozilla, IE7, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp != null) {
xmlhttp.onreadystatechange = state_Change;
xmlhttp.open("post", url, true);
xmlhttp.send(null);
} else {
alert("Your browser does not support XMLHTTP.");
}
  相关解决方案