分享
 
 
 

下拉框联动

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

下拉框联动有两个java类,两个jsp页面,和一个js组成。

MultiSelect.java

该类用于生成实现联动需要的Array数组

package select;

import java.util.*;

import java.sql.*;

import java.io.*;

public class MultiSelect {

/**

*产生JavaScript中用于联动的array代码

*以省市为例

*一般为了javascript程序的方便,建议输出格式为:

*subcat1[subcat1.length] = new Array("江阴","12.10","12");

*其中"江阴"的值为"12.10","12"对应江苏省,越大的范围的值越往后

*subcat1[subcat1.length] = new Array("常州","12.11","12");

**/

public static String getArray(String name, String sql) throws java.sql.SQLException {

Connection conn=null;

try {

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

conn =

DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test",

"test", "test");

} catch (java.lang.ClassNotFoundException e) {

System.err.print("ClassNotFoundException: " + e.getMessage());

}

Statement stmt = conn.createStatement();

ResultSet rs=stmt.executeQuery(sql);

StringBuffer sb = new StringBuffer();

while(rs.next()){

sb.append(name + "[" + name + ".length] = new Array(" +

getString(rs.getString(0),rs.getString(1),rs.getString(2)) + ");\n");

}

return sb.toString();

}

private static String getString(String s1,String s2,String s3) {

String temp = "\"" + s1 + "\",\""+s2+"\",\""+s3+"\"";

return temp;

}

}

--------------------------------------------------------------------------------

SelectJS 该类主要是用来生成sql语句。

package select;

public class SelectJS {

/**

* 写出sql,调用

* @param name 数组名称

* @return

* @throws java.sql.SQLException

*/

public static String getProducts(String name) throws java.sql.SQLException {

return MultiSelect.getArray(name,

"select describe,code,fcode from testone "

);

}

}

---------------------------------------------------------------------------------

citys.jsp主要是用来得到Array数组

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="select.*"%>

var citys = new Array();

<%=SelectJs.getDealerCity("citys")%>

-----------------------------------------------------------------------------------

select.js 主要是用来显示下拉框中的数据

function clearselect(Aa){

clearList(Aa);

Aa.options[Aa.length] = new Option("没有回答", "");

}

//use "" to clear all:(值的索引为1)

//Aa为被联动的select,

//locationid为主联动值,

//arr为用于生成的Array,

//index1为Array中用于比较主联动值的索引

function changelocation1(Aa,locationid,arr,index1){

clearselect(Aa);

var i;

for (i=0;i < arr.length; i++){

if (arr[i][index1] == locationid ){

Aa.options[Aa.length] = new Option(arr[i][0], arr[i][1]);

}

}

}

//from chinaquest

function clearList(ctrl){

if (document.all) {

for(;ctrl.options.length>0;)

ctrl.options.remove(ctrl.options.length-1);

}else{

for(;ctrl.options.length>0;)

ctrl.options[ctrl.options.length-1] = null;

}

}

-------------------------------------------------------------------------------------

selecttest.jsp 进行页面使用

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

</head>

<script language="JavaScript" src="citys.jsp"></script>

<script language="JavaScript" src="select.js"></script>

<body>

<form method="post">

<select name="sel_brand"

onchange="changelocation1(this.form.elements['sel_city'],this.value,citys,2);">

<%

String sql="select code,Describe from testone ";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {

%>

<option value="<%=rs.getString(0)%>"><%=rs.getString(1)%></option>

<% } %>

</select>

<select name="sel_city">

<option value="">没有回答</option>

</select>

</form>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有