我要实现用户联动,在选择部门的时候,刷新左边的区域,右边的区域不刷新,怎么做,我在线等待
<%@ page contentType= "text/html; charset=GBK " %>
<% request.setCharacterEncoding( "GBK "); %>
<%@ page import= "java.util.Iterator,
java.sql.*,
com.thinking.util.*,
com.thinking.Exception.*,
com.thinking.user.*,
java.util.* "
%>
<jsp:useBean id= "admin " class= "com.thinking.user.admin "/>
<jsp:useBean id= "member " class= "com.thinking.user.DbMember "/>
<jsp:useBean id= "dbdept " scope= "page " class= "com.thinking.user.DbDept " />
<%
adminBean adminbean=(adminBean)session.getAttribute( "loginAccount ");
if(adminbean==null || adminbean.equals( "null ")){
response.sendRedirect( "../user/login.jsp ");
}else{
%>
<html>
<head>
<title>
选择人员列表
</title>
</head>
<link href= "../css/file.css " type= "text/css " rel= "stylesheet ">
<SCRIPT language= 'javascript '>
function move(s1,s2,flag){
var tem=new Array();
var sa=document.form1.elements[s1];
var sb=document.form1.elements[s2];
var s=sa.selectedIndex> -1?1:0
with(sa)
for(i=length-1;i> =0;i--)
if(options[i].selected||flag){tem[tem.length]=options[i];options[i]=null}
if(s||flag)
{
for(i=0;i <sb.length;i++) tem[tem.length]=sb.options[i]
with(sb)
{
length=0;
tem.sort(sortArr)
for(i=0;i <tem.length;i++) options[length]=new Option(tem[i].text,tem[i].value)
}
}
}
/*move_self(s,flag):s是列表框name,flag(1,-1),是上移或下移*/
function move_self(s,flag)
{
var sa=document.form1.elements[s]
var tem;
with(sa)
{
if(flag==1)
{
if(selectedIndex> 0)
for(i=0;i <length;i++)
if(options[i].selected)
{
tem_text=options[i].text;tem_value=options[i].value;
options[i].text = options[i-1].text;
options[i].value = options[i-1].value;
options[i-1].text = tem_text;options[i-1].value = tem_value;
options[i-1].selected = true;options[i].selected = false;
}
}
else
{
for(i=length-1;i> =0;i--)
if(options[i].selected)
{
if(i==length-1)break;
tem_text=options[i].text;tem_value=options[i].value;
options[i].text = options[i+1].text;
options[i].value = options[i+1].value;
options[i+1].text = tem_text;options[i+1].value = tem_value;
options[i+1].selected=true;options[i].selected=false;
}
}
}
}
/*显示列表框选中的值,s是列表框的name*/
function show(s)
{
var str= " "
with(document.form1.elements[s])
for(i=0;i <length;i++)
if(options[i].selected)
str+= "\n第 "+(i+1)+ "个option:\ntext: "+options[i].text+ " value: "+options[i].value;
alert(str);
}
function sortArr(a,b)
{
if(a.text> b.text)return 1
if(a.text <b.text)return -1
return 0
}
function search(s)
{
var str= " "
var didlist = " ";
var dnmlist = " ";
with(document.form1.elements[s])
for(i=0;i <length;i++)
{
didlist += options[i].text+ " ";
dnmlist += options[i].value+ " ";
}
eval( "window.opener. "+document.form1.supform.value+ ". "+document.form1.supnm.value).value = didlist;
eval( "window.opener. "+document.form1.supform.value+ ". "+document.form1.supcd.value).value = dnmlist;
window.close();
}
function cg(deptid,selectuser){
document.form1.action= 'select_user.jsp ';
document.form1.deptid.value = deptid.value;
document.form1.selectuser.value = selectuser.value;
document.form1.target= '_self ';
document.form1.submit();
}
function reset1()
{
//alert( "window.opener. "+document.form1.supform.value+ ". "+document.form1.supcd.vlaue);
eval( "window.opener. "+document.form1.supform.value+ ". "+document.form1.supnm.value).value = " ";
eval( "window.opener. "+document.form1.supform.value+ ". "+document.form1.supcd.value).value = " ";
window.close();
}
</script>
<body leftmargin= "0 " topmargin= "0 " marginwidth= "0 " marginheight= "0 " style= "background-color:#ECF1F3 " >
<%
String supform=request.getParameter( "supform ");
String supcd=request.getParameter( "supcd ");
String supnm=request.getParameter( "supnm ");
String deptname = " ";
try{
deptname=dbdept.getDeptName(request);
}
catch(Exception e){
deptname = "请选择用户 ";
}
%>
<form method= 'post ' name= 'form1 '>
<input type=hidden name= "supform " value= " <%=supform%> ">
<input type=hidden name= "supcd " value= " <%=supcd%> ">
<input type=hidden name= "supnm " value= " <%=supnm%> ">
<table width= "315 " border= "0 " cellspacing= "0 " cellpadding= "0 " height= "110 ">
<tr>
<td width= "3% " valign= "middle "> </td>
<td width= "97% " valign= "middle "> <table width= "100% " height= "121 " border=0>
<tr>
<td height= "23 " colspan= "2 " align=right valign= "middle " style= "text-size:9pt "> 选择部门 </td>
<td colspan= "2 " align=left>
<SELECT name=deptid onchange=cg(deptid,selectuser) style= "WIDTH: 160pt ">
<option value= "0 "> 选择部门 </option>
<%
String checked= " ";
Iterator deptList=dbdept.getListDept(0).iterator();
while(deptList.hasNext()){
Dept dept =(Dept)deptList.next(); %>
<option value= " <%=dept.getDeptId()%> "> <%=dept.getDeptName()%> </option>
<%
Iterator deptList1=dbdept.getListDept(dept.getDeptId()).iterator();
while(deptList1.hasNext()){
dept =(Dept)deptList1.next();
out.print( " <option value= "+dept.getDeptId()+ "> ├ "+dept.getDeptName()+ " </option> ");
%>
<%
Iterator deptList2=dbdept.getListDept(dept.getDeptId()).iterator();
while(deptList2.hasNext()){
dept =(Dept)deptList2.next();
out.print( " <option value= "+dept.getDeptId()+ "> ├ "+dept.getDeptName()+ " </option> ");
%>
<%}}}%>
</SELECT>
</td>
</tr>
<tr>
<td width= "115 " height= "61 " rowspan= "4 " align=right valign= "middle " style= "text-size:9pt ">
<select style= "WIDTH: 140px " name= "alluser " size= "7 " multiple>
<% Iterator userList=member.ListSelect(request).iterator();
while(userList.hasNext()){
Member user =(Member)userList.next();
%>
<option value= " <%=user.getMid()%> " <%=checked%> > <%=(user.getReal_name()== null || user.getReal_name().equals( "null ")||user.getReal_name().length()==0)?user.getAccount():user.getReal_name()%> ( <%=user.getAccount()%> ) </option>
<%}%>
</select> </td>
<td colspan= "2 " align=right valign= "middle " style= "text-size:9pt "> <input type= "button " name= "Submit " value= "> > " onclick= "move( 'alluser ', 'selectuser ',1) "> </td>
<td width= "130 " rowspan= "4 ">
<select style= "WIDTH: 140px " name= "selectuser " size= "7 " multiple>
</select> </td>
</tr>
<tr>
<td height= "18 " colspan= "2 " align=right valign= "middle " style= "text-size:9pt "> <input type= "button " name= "Submit2 " value= "> " onclick= "move( 'alluser ', 'selectuser ') "> </td>
</tr>
<tr>
<td height= "18 " colspan= "2 " align=right valign= "middle " style= "text-size:9pt "> <input type= "button " name= "Submit3 " value= " < " onclick= "move( 'selectuser ', 'alluser ') "> </td>
</tr>
<tr>
<td colspan= "2 " align=right valign= "middle " style= "text-size:9pt "> <input type= "button " name= "Submit4 " value= " < < " onclick= "move( 'selectuser ', 'alluser ',1) "> </td>
</tr>
</table>
</table>
<br>
<table width= "315 " border= "0 " cellspacing= "0 ">
<tr>
<td align=center height= "2 " bgcolor= "175687 "> </td>
</tr>
<tr>
<td align=center bgcolor= "6BA6CE " valign= "middle "> <img src= "images/confirm.gif " width= "57 " height= "20 " style= "cursor:hand " onClick= "search( 'selectuser ') ">
<img src= "images/close.gif " width= "57 " height= "20 " style= "cursor:hand " onClick= 'window.close() '>
</td>
</tr>
</table>
</form>
</body>
</html>
<%}%>
请高人帮我修改一下
[解决办法]
不会,顶一下
[解决办法]
是不是可以把左边和右边分成2个FRAME,在选择部门的时候把刷新的target设定为左边的FRAME
[解决办法]
太长了,不好看,如果你是用下拉框选择部门然后选部门的人,那么你可以先将所有资料取出来存到js的数组中,用脚本来实现,
如果资料太多,可能用ajax实现.
可以直接找我505410175,我处理过这样的问题