java ajax三级联动_java + ajax(三级联动) myself

String contextPath = request.getContextPath();

if (request.getProtocol().compareTo("HTTP/1.0") == 0) {

response.setHeader("Pragma","no-cache");

} else {

response.setHeader("Cache-Control","no-cache");

}

response.setDateHeader("Expires", 0);

%>

           

 
 

 1

 
  Select a Category

Please select

天津

北京

 
 

 2

 
  Select a SubCategory

Please select

 
 

 3

 
  Select a Category
 

Please select

 
 

To better  assist  your search,

please select the product,

model and category.

 SubmitRequest.jpg
 
 
 

var http_request = false;

var optionValue="";

function init() {

var categoryId = "1";

getSubCategory(categoryId);

}

function send_request(url) {//初始化,指定处理函数,发送请求的函数

http_request = false;

if (window.XMLHttpRequest) { // Mozilla浏览器

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

http_request.overrideMimeType('text/xml');//设置MIME类别

}

} else if (window.ActiveXObject) { // IE 浏览器

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

http_request.overrideMimeType('text/xml');//设置MIME类别

} catch (e) {

try {

http_request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {}

}

}

if (!http_request) {//异常,创建对象实例失败

alert('Giving up :( 创建对象实例失败');

return false;

}

http_request.onreadystatechange = processRequest;

http_request.open('post', url, true);

http_request.send(null);

}

function processRequest() {

if (http_request.readyState == 4) {

if (http_request.status == 200) {

optionValue = http_request.responseText + "";

setSelectObj(optionValue);

} else {

alert('你所请求的页面有问题');

}

}

}

function showRoles(obj) {

document.getElementById(obj).parentNode.style.display = "";

document.getElementById(obj).innerHTML = "正在读取数据........";

testPos=obj;

send_request('sample_10.jsp');

}

function getSubCategory(subCategoryObj) {

send_request("getDropDownList.jsp?flag=subCategory&categoryid="+subCategoryObj);

}

function getProduct(productObj) {

send_request("getDropDownList.jsp?flag=product&subid="+productObj);

}

function setSelectObj(obj) {

var arr1 = new Array();

var arr2 = new Array();

var arr3= new Array();

var str = "";

var selectsubCategoryObj = document.getElementById("subCategory");

var selectproductObj = document.getElementById("product");

var selectCategoryObj = document.getElementById("category");

if (trimString(obj) != "") {

arr1 = obj.split('@');

str = arr1[2]+"";

if (arr1[2] == "subCategory\r\n") {

arr2 = arr1[0].split(',');

arr3 = arr1[1].split(',');

//删除原来的

if (selectsubCategoryObj.value != "") {

for (var i = 0; i < 100; i++) {

selectsubCategoryObj.remove(0);

}

}

//增加新的

selectsubCategoryObj.add(new Option("Please select", "0"));

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

selectsubCategoryObj.add(new Option(trimString(arr3[i]), trimString(arr2[i])));

}

} else if (arr1[2] == "product\r\n") {

arr2 = arr1[0].split(',');

arr3 = arr1[1].split(',');

//删除原来的

if (selectproductObj.value != "") {

for (var i = 0; i < 100; i++) {

selectproductObj.remove(0);

}

}

//增加新的

selectproductObj.add(new Option("Please select", "0"));

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

selectproductObj.add(new Option(trimString(arr3[i]), trimString(arr2[i])));

}

}

} else {

if (selectCategoryObj.value == "0"  || (selectCategoryObj.value != "0" && trimString(obj) == "")) {

//删除原来的

if (selectsubCategoryObj.value != "") {

for (var i = 0; i < 100; i++) {

selectsubCategoryObj.remove(0);

}

}

//增加默认项

selectsubCategoryObj.add(new Option("Please select", "0"));

}

if ((selectCategoryObj.value != "0" && selectsubCategoryObj.value == "0") ||

(selectCategoryObj.value == "0" && selectsubCategoryObj.value == "0")) {

//删除原来的

if (selectproductObj.value != "") {

for (var i = 0; i < 100; i++) {

selectproductObj.remove(0);

}

}

//增加默认项

selectproductObj.add(new Option("Please select", "0"));

}

}

}

function trimString(sStr) {

//by xmzh

if (sStr == null) return "";

return sStr.replace(/(^\s*)|(\s*$)/ig,"");

}

getDropDownList.jsp

pageEncoding="UTF-8"%>

Connection conn = null;

ResultSet rs = null;

PreparedStatement ps = null;

String sub_id = "";

String sub_name = "";

String p_id = "";

String p_name = "";

String categoryid = request.getParameter("categoryid");

String subid = request.getParameter("subid");

String flag = request.getParameter("flag");

String str1= "";

String str2= "";

StringBuffer sb = new StringBuffer("");

StringBuffer sb1 = new StringBuffer("");

StringBuffer sb2 = new StringBuffer("");

StringBuffer sb3 = new StringBuffer("");

try {

String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webportalTest";

try {

Class.forName(drivername);

conn=DriverManager.getConnection(url,"sa","206073");

}catch(SQLException e){

System.out.println(e.getMessage());

}

if (categoryid != null && ("subCategory".equals(flag) || "subCategory" == flag)) {

ps = conn.prepareStatement("select * from T_SubCategory where categoryId='"+ categoryid + "'");

rs = ps.executeQuery();

while (rs.next()) {

sub_id = rs.getString("id");

sub_name = rs.getString("name");

sb.append( sub_id + ",");

sb1.append(sub_name+",");

}

if (!sb.toString().equals("") && !sb1.toString().equals("")) {

str1= sb.substring(0,sb.length()-1);

str2= sb1.substring(0,sb1.length()-1);

out.print(str1+"@"+str2+"@subCategory");

}

} else if (subid != null && ("product".equals(flag) || "product" == flag)) {

ps = conn.prepareStatement("select * from T_Product where subCategoryId='"+ subid + "'");

rs = ps.executeQuery();

while (rs.next()) {

p_id = rs.getString("id");

p_name = rs.getString("name");

sb2.append(p_id + ",");

sb3.append(p_name + ",");

}

if (!sb2.toString().equals("") && !sb3.toString().equals("")) {

String str3 = sb2.substring(0,sb2.length()-1);

String str4 = sb3.substring(0,sb3.length()-1);

out.print(str3 + "@" + str4 + "@product");

}

}

} catch (Exception ex) {

ex.printStackTrace();

out.println("异常:" + ex.getMessage());

} finally {

try {

rs.close();

ps.close();

if (conn != null) {

conn.close();

}

} catch (Exception e) {

rs = null;

ps = null;

conn = null;

e.printStackTrace();

}

}

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值