<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
var xmlhttp;
function Bind() {
var select1 = document.getElementById("Select1");
var tab = AjaxExample._Default.GetCityById(0).value;
if (tab != null && typeof (tab) == "object") {
select1.length = 0;
select1.options.add(new Option("请选择", -1));
for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
var txt = tab.Tables[0].Rows[i].abc;
var vol = tab.Tables[0].Rows[i].efg;
select1.options.add(new Option(txt,vol));
}
}
}
function showNext() {
var select2 = document.getElementById("Select2");
var id = document.getElementById("Select1").value;
var tab = AjaxExample._Default.GetCityById(id).value;
if (tab != null && typeof (tab) == "object") {
select2.length = 0;
select2.options.add(new Option("请选择", -1));
for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
var txt = tab.Tables[0].Rows[i].abc;
var vol = tab.Tables[0].Rows[i].efg;
select2.options.add(new Option(txt, vol));
}
}
}
//创建
function createDemo() {
if (window.ActiveXObject) {
var ieArr = ["Msxml2.XMLHTTP.8.0", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < ieArr.length; i++) {
try {
xmlHttp = new ActiveXObject(ieArr[i]);
}
catch (e) { } //抛异常,直到找到合适的版本
}
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
//关联
function doDemo() {
//获取选中项的下标
var index = 0;
var select2 = document.getElementById("Select2");
for (var i = 0; i < select2.length; i++) {
if (select2.options[i].selected == true) {
index = i;
}
}
//获取选中项的文本
var cityname = select2.options[index].innerText;
createDemo();
xmlHttp.onreadystatechange = disDemo;
var url = "WebForm1.aspx?name=" + cityname;
// xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function disDemo() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//
document.getElementById("context").innerHTML = xmlHttp.responseText;
}
}
}
function showDDL2() {
var ddl = document.getElementById("DropDownList1");
//获取第一个DDL控件选定的value
var selectvalue = ddl.options[ddl.selectedIndex].value;
var select2 = document.getElementById("DropDownList2");
var tab = AjaxExample._Default.GetCityById(selectvalue).value;
if (tab != null && typeof (tab) == "object") {
select2.length = 0;
select2.options.add(new Option("请选择", -1));
for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
var txt = tab.Tables[0].Rows[i].abc;
var vol = tab.Tables[0].Rows[i].efg;
select2.options.add(new Option(txt, vol));
}
}
}
</script>
</head>
<body οnlοad="Bind();">
<form id="form1" runat="server">
<div>
select控件实现无刷新联动<br />
<select id="Select1" name="D1" οnchange="showNext();">
<option></option>
</select>
<select id="Select2" name="D2">
<option></option>
</select>
<input id="Button1" type="button" value="查询" οnclick="doDemo();" /><br />
<br />
<br />
<br />
<br />
dropdownlist控件实现无刷新联动
<br />
<asp:DropDownList ID="DropDownList1" runat="server" οnchange="showDDL2();">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</div>
<div id="context"></div>
</form>
</body>
</html>
public partial class _Default : System.Web.UI.Page
{
public DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
DropDownList1.DataSource = GetCityById(0);
DropDownList1.DataTextField = "abc";
DropDownList1.DataValueField = "efg";
DropDownList1.DataBind();
}
}
public SqlConnection myconn()
{
string strconn = "server=.;database=db_TomeOne;uid=sa;pwd=123";
SqlConnection conn = new SqlConnection(strconn);
try
{
conn.Open();
return conn;
}
catch
{
throw;
}
}
public DataSet getDs(string sql)
{
SqlConnection conn = myconn();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
try
{
da.Fill(ds);
return ds;
}
catch
{
return null;
}
}
[AjaxPro.AjaxMethod]
public DataSet GetCityById(int id)
{
string sql = string.Format("select cname as abc,id as efg from city where parentid='{0}'",id);
try
{
return getDs(sql);
}
catch
{
return null;
}
}
}
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string cityname = Request.QueryString["name"];
DataTable dt = GetUserByCity(cityname).Tables[0];
StringBuilder sb = new StringBuilder();
sb.Append("<table border='1' id='tab1'><tr><td>姓名</td><td>住址</td></tr>");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append("<tr><td>" + dt.Rows[i]["uname"] + "</td><td>" + dt.Rows[i]["address"] + "</td></tr>");
}
sb.Append("</table>");
Response.Write(sb.ToString());
Response.End();
}
}
public DataSet GetUserByCity(string cityname)
{
string sql = string.Format("select * from users where address ='{0}'", cityname);
try
{
return getDs(sql);
}
catch
{
return null;
}
}
/// <summary>
/// 数据库连接
/// </summary>
/// <returns></returns>
public SqlConnection myConn()
{
string ConnStr = "server=.;database=db_TomeOne;uid=sa;pwd=123";
SqlConnection conn = new SqlConnection(ConnStr);
try
{
conn.Open();
return conn;
}
catch
{
throw;
}
}
/// <summary>
/// 返回一个DataSet
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public DataSet getDs(string SQL)
{
SqlConnection conn = myConn();
DataSet Ds = new DataSet();
SqlDataAdapter Da = new SqlDataAdapter(SQL, conn);
try
{
Da.Fill(Ds);
return Ds;
}
catch
{
return null;
//throw;
}
}
}