| « | November 2025 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | |
| 公告 |
|
| Blog信息 |
|
blog名称: 日志总数:22 评论数量:55 留言数量:0 访问次数:130317 建立时间:2006年3月13日 |

| |
|
用JS写联动 软件技术
jjs_love 发表于 2006/3/29 15:36:13 |
| js如下
<%!public String getDeptUsers(Connection conn) { StringBuffer users = new StringBuffer(); String sql = "SELECT dept_CODE, dept_NAME, user_code, user_name " + "FROM SYS_DIC_dept, sys_dic_user " + "WHERE user_dept = dept_CODE(+) " + "ORDER BY dept_CODE"; Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { users.append((rs.getString("dept_CODE") != null ? rs.getString("dept_CODE").trim() : "") + ", " + (rs.getString("dept_NAME") != null ? rs.getString("dept_NAME").trim() : "") + ", " + (rs.getString("user_code") != null ? rs.getString("user_code").trim() : "") + ", " + (rs.getString("user_name") != null ? rs.getString("user_name").trim() : "") + ", "); } } catch (SQLException sqle) { } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } } catch (SQLException ignore) { } } return users.toString();}
%>
<script language="javascript" type="text/javascript"> var deptUsers = new Array(); var errorMessage = ""; function DeptUser() { this.deptId = ""; this.deptName = ""; this.userIds = new Array(); this.userNames = new Array(); } function initUserData(users) { var tempArr = users.split(", "); var currId = ""; var user = null; for (var loop=0; loop<tempArr.length-1; loop+=4) { if (currId.toUpperCase() != tempArr[loop + 1].toUpperCase()) { user = new DeptUser(); deptUsers.push(user); currId = tempArr[loop + 1]; } user.deptId = tempArr[loop]; user.deptName = tempArr[loop + 1]; user.userIds.push(tempArr[loop + 2]); user.userNames.push(tempArr[loop + 3]); } }
function getDepts(formIndex, deptTarget, name) { var target = document.forms[formIndex][deptTarget].options; for (var index=0; index<deptUsers.length; index++) { var opt = new Option(); opt.value = deptUsers[index].deptId; opt.text = deptUsers[index].deptName; target.add(opt, index); } for (var index=0; index<target.length&&name!=""; index++) { if (target[index].text == name || target[index].value == name) { target[index].selected = true; } } } function getDeptUsers(formIndex, deptTarget, userTarget, userCode) { var deptIndex = -1; var targetForm = document.forms[formIndex]; var dept = targetForm[deptTarget]; var users = targetForm[userTarget]; for (var index=0; index<dept.options.length; index++) { if (dept.options[index].selected) { deptIndex = index; } } for (var index=0; index<users.length; index++) { users.remove(index); index--; } for (var index=0; index<deptUsers[deptIndex].userIds.length; index++) { var target = users.options; var opt = new Option(); opt.value = deptUsers[deptIndex].userIds[index]; opt.text = deptUsers[deptIndex].userNames[index]; target.add(opt, index); } for (var index=0; (index<target.length)&&(userCode!=""); index++) { if (target[index].value == userCode) { target[index].selected = true; } } } function addOptions(formIndex, fromName, toName) { var targetForm = document.forms[formIndex]; var optFrom = targetForm[fromName].options; var optTo = targetForm[toName].options; for (var index=0; index<optFrom.length; index++) { if (optFrom[index].selected && !isExist(optTo, optFrom[index].text)) { var opt = new Option(); opt.value = optFrom[index].value; opt.text = optFrom[index].text; optTo.add(opt, optTo.length); } } } function addAllOptions(formIndex, fromName, toName) { var targetForm = document.forms[formIndex]; var optFrom = targetForm[fromName].options; var optTo = targetForm[toName].options; for (var index=0; index<optFrom.length; index++) { if (!isExist(optTo, optFrom[index].text)) { var opt = new Option(); opt.value = optFrom[index].value; opt.text = optFrom[index].text; optTo.add(opt, optTo.length); } } } function removeOptions(formIndex, targetName) { var target = document.forms[formIndex][targetName].options; for (var index=0; index<target.length; index++) { if (target[index].selected) { target.remove(index); index--; } } } function removeAllOptions(formIndex, targetName) { var target = document.forms[formIndex][targetName].options; for (var index=0; index<target.length; index++) { target.remove(index); index--; } } function isExist(object, str) { for (var index=0; index<object.length; index++) { if (object[index].text == str) { return true; } } return false; }</script>
jsp如下
<script>initUserData("<%=getDeptUsers(conn)%>");</script> <select name="user_dept" onChange="getDeptUsers(0,'user_dept', 'fileplan_man');"> <script>getDepts(0,"user_dept");</script> </select> <select name="fileplan_man"> <script>getDeptUsers(0,"user_dept", "fileplan_man");</script> </select> |
|
|