AJAX二级联动

lsesunny 2008-03-13 10:11:53
谁有AJAX写的二级联动下拉菜单啊?
...全文
841 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiafangcs2010 2010-04-04
  • 打赏
  • 举报
回复
谁会用CascadingDropDown做个二级联动啊 说过说呗
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
不知,帮顶
striker_un 2008-03-31
  • 打赏
  • 举报
回复
总觉得这样的东西是否出个标准答案,总有人在不断的研究这.....
sojava 2008-03-27
  • 打赏
  • 举报
回复
看看<<Ajax in Action>>这本书吧!
asose 2008-03-19
  • 打赏
  • 举报
回复
不知liuyanpengcsnd 中的<ajax:select >怎么样有空试试
riken_mail 2008-03-19
  • 打赏
  • 举报
回复
路过!!
看看!!
xingchenbbs 2008-03-19
  • 打赏
  • 举报
回复
星辰技术社区:www.netcsharp.cn,我们将帮您以最快的速度找到最佳的解决方案
anxin1015 2008-03-18
  • 打赏
  • 举报
回复
http://download.csdn.net/source/379164
这个下不了,分却被扣了。
anxin1015 2008-03-18
  • 打赏
  • 举报
回复
能否发到俺邮箱.我邮箱是:van120@163.com
清风道禅 2008-03-18
  • 打赏
  • 举报
回复
第一个下拉框的textchanged事件 绑定第二个下拉框
liuyanpengcsnd 2008-03-17
  • 打赏
  • 举报
回复
//SelectAction 类
import java.util.List;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.ajaxtags.helpers.AjaxXmlBuilder;
import org.ajaxtags.servlets.BaseAjaxAction;

import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;

public class SelectAction extends BaseAjaxAction
{

public String getXmlContent(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception
{
System.out.println("-----------------");
int country = Integer.parseInt(request.getParameter("country"));
//设置响应的页面头
//用于控制服务器的响应
List<String> cityList = new ArrayList<String>();
switch(country)
{
//对于选择下拉框的"中国"选项
case 1:
cityList.add("广州");
cityList.add("深圳");
cityList.add("上海");
break;
//对于选择下拉框的"美国"选项
case 2:
cityList.add("华盛顿");
cityList.add("纽约");
cityList.add("加洲");
break;
//对于选择下拉框的"日本"选项
case 3:
cityList.add("东京");
cityList.add("大阪");
cityList.add("福冈");
break;
}

//该类用于辅助生成XML响应
AjaxXmlBuilder builder = new AjaxXmlBuilder();
for (String city : cityList )
{
builder = builder.addItem(city , city);
}
System.out.println(builder);
return builder.toString();

}

}



//jsp页面:使用AjAX标签来实现动态级联效果
<%@ taglib uri="http://ajaxtags.org/tags/ajax" prefix="ajax" %>
<%@ page contentType="text/html;charset=GBK"%>
<html>
<head>
<title>使用BaseAjaxAction生成响应</title>

<script type="text/javascript" src="js/prototype-1.4.0.js"></script>
<script type="text/javascript" src="js/scriptaculous.js"></script>
<script type="text/javascript" src="js/overlibmws.js"></script>
<script type="text/javascript" src="js/ajaxtags.js"></script>

<link type="text/css" rel="stylesheet" href="css/ajaxtags-sample.css" />
</head>
<body>
国家:
<select id="country" name="country">
<option value="">选择一个国家</option>
<option value="1">中国</option>
<option value="2">美国</option>
<option value="3">日本</option>
</select>
城市:
<select id="city" name="city">
<option value="">城市列表</option>
</select>
<ajax:select
baseUrl="select.do"
source="country"
target="city"
parameters="country={country}" />

</body>
</html>
Hapmouche 2008-03-15
  • 打赏
  • 举报
回复
mark
myvicy 2008-03-13
  • 打赏
  • 举报
回复
http://download.csdn.net/source/379164
a95470000 2008-03-13
  • 打赏
  • 举报
回复

PersonalFunc.asp頁面的內容﹕
<%
vId = request.querystring("id")

sqlStr = "select id,post from user where id="& vId
set rs = server.createobject("adodb.recordset")
rs.open sqlStr,conn,3,1
optionTemp = " <select name='sel_department'> "
while not rs.eof
optionTemp = optionTemp &" <option value='"& rs("id") &"'> "& rs("post") &" </option> "
rs.movenext
wend
rs.close
set rs = nothing
optionTemp = optionTemp &" </select> "
oldcode = session.codepage
session.codepage = 65001
response.write optionTemp
session.codepage = oldcode
response.end
%>


a95470000 2008-03-13
  • 打赏
  • 举报
回复

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5"/>
function getDepartment()
{
var selObj = document.getElementById("sel_name");
var id = selObj.options[selObj.options.selectedIndex].value;
var tdObj = document.getElementById("td_department");

var strURL = "PersonalFunc.asp?id="+ id;
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("GET", strURL, false);
xmlHTTP.send();
strVal = unescape(xmlHTTP.responseText);

tdObj.innerHTML = strVal;
}
</head>
<body>
<table>
<tr>
<td>
<select name="sel_name" onchange="getDepartment()">
<option>wttt</option>
<option>dfdfdf</option>
</select>
</td>
<td id="td_department"> <select name="sel_department" > </select> </td>
</tr>
</table>
</body>
</html>


iuhxq 2008-03-13
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>改进过的一个联动控件,使用更加简单方便</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="iuhxq,qq:4111852,http://blog.csdn.net/iuhxq">
<meta name="Keywords" content="联动">
<meta name="Description" content="改进过的一个联动控件,使用更加简单方便">
</head>

<body>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td><span id="select1"></span></td>
<td><input type="button" value="设置值" onclick="liandong.SetValue(1,3,7,13,16,18);"></td>
<td><input type="button" value="取值" onclick="alert(liandong.GetValue());"></td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>

<script language="JavaScript">
<!--
function LianDong(arr, sel, value)
{
sel = document.getElementById(sel);

this.sub = function (i,pid)
{
while(sel.childNodes.length-1>=i)
{
sel.removeChild(sel.childNodes[sel.childNodes.length-1]);
}
var tmp;
var created = false;
for ( var j = 0; j < arr.length; j++)
{
if (arr[j][1] == pid)
{
if (created==false)
{
created = true;
tmp = document.createElement("select");
tmp.setAttribute("id", "liandong_" + i);
//tmp.setAttribute("multiple", "multiple");
tmp.options[tmp.length] = new Option("请选择", "-1");
tmp.onchange = function()
{
p(parseInt(tmp.getAttribute("id").replace("liandong_",""))+1,tmp.value);
};
sel.appendChild(tmp);
}
tmp.options[tmp.options.length] = new Option(arr[j][2], arr[j][0]);
}
}
}
var p = this.sub;
this.SetValue = function()
{
for (var i=0; i<arguments.length; i++)
{
sel.childNodes[i].value = arguments[i];
this.sub(i+1, arguments[i]);
}
}

this.GetValue = function()
{
var value = "";
for (var i=0; i<sel.childNodes.length; i++)
{
var obj = sel.childNodes[i];
for (var j=0; j<obj.options.length; j++)
{
if (obj.options[j].selected)
{
value += obj.options[j].value + ",";
break;
}
}
}
return value;
}

this.sub(0,0);
}

//利用ASP,ASP.NET,PHP等语言输出下边数据和liandong定义即可
var array=new Array();
//array[索引] = new Array("当前ID", "父ID", "名称");
array[0] = new Array("1", "0", "1");
array[1] = new Array("2", "0", "2");
array[2] = new Array("3", "1", "1,3");
array[3] = new Array("4", "1", "1,4");
array[4] = new Array("5", "2", "2,5");
array[5] = new Array("6", "2", "2,6");
array[6] = new Array("7", "3", "3,7");
array[7] = new Array("8", "3", "3,8");
array[8] = new Array("9", "3", "3,9");
array[9] = new Array("10", "1", "1,10");
array[10] = new Array("11", "1", "1,11");
array[11] = new Array("12", "2", "2,12");
array[12] = new Array("13", "7", "7,13");
array[13] = new Array("15", "7", "7,14");
array[14] = new Array("16", "13", "13,16");
array[15] = new Array("17", "13", "13,17");
array[16] = new Array("18", "16", "16,18");
array[17] = new Array("19", "10", "10,19");

//var liandong = new LianDong(数据, 显示容器的ID),该定义最好放在window.onload里运行。
var liandong = new LianDong(array, "select1")

//-->
</script>
</body>
</html>


52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧