三层三级联动

aspx页

<body>
<form id="form1" runat="server">
<div>
<table><tr><td>用户名</td><td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td></tr>
<tr><td>密码</td><td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td></tr>
<tr><td>确认密码</td><td>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td></tr>
<tr><td>邮箱</td><td>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox></td></tr>
<tr><td>地址</td><td>
<asp:DropDownList ID="ddlprovince" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlprovince_SelectedIndexChanged">
</asp:DropDownList>省
<asp:DropDownList ID="ddlcity" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlcity_SelectedIndexChanged">
</asp:DropDownList>市
<asp:DropDownList ID="ddlarear" runat="server">
</asp:DropDownList>县
</td></tr></table>
</div>
</form>
</body>

cs页

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadProvince();
}
}

private void LoadProvince()
{
BLL.province bpro = new BLL.province();
DataTable dt= bpro.GetList("").Tables[0];

ddlprovince.DataSource = dt;
ddlprovince.DataTextField = "provincename";
ddlprovince.DataValueField = "provinceID";
ddlprovince.DataBind();

}

protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.ddlarear.Items.Count>0)
{
this.ddlarear.Items.Clear();
}
BLL.city bcity = new BLL.city();
string proid = this.ddlprovince.SelectedItem.Value;

DataTable dt = bcity.GetList("father='"+proid+"'").Tables[0];

ddlcity.DataSource = dt;
ddlcity.DataTextField = "cityname";
ddlcity.DataValueField = "cityID";
ddlcity.DataBind();

//绑定默认显示的市级区划下面所有的县
string cityid= dt.Rows[0]["cityID"].ToString();
BLL.area baraer = new BLL.area();

DataTable dtarea = baraer.GetList("father='" + cityid + "'").Tables[0];

ddlarear.DataSource = dtarea;
ddlarear.DataTextField = "areaname";
ddlarear.DataValueField = "areaID";
ddlarear.DataBind();

}

protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
BLL.area baraer = new BLL.area();
string cityid = this.ddlcity.SelectedItem.Value;

DataTable dt = baraer.GetList("father='" + cityid + "'").Tables[0];

ddlarear.DataSource = dt;
ddlarear.DataTextField = "areaname";
ddlarear.DataValueField = "areaID";
ddlarear.DataBind();
}
}
}

Getlist方法

public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select id,provinceID,provincename ");
strSql.Append(" FROM province ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}

Query方法:

public static DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}

JS三级联动表单 <!-- var arrText = new Array(5); var arrValue = new Array(arrText.length); function objSetOption(select1, select2, select3) { this.select1 = select1; this.select2 = select2; this.select3 = select3; } arrText[0]= new objSetOption("选择1:", "选择2_1:,选择2_2:", "选择3_1:,选择3_2:"); arrText[1] = new objSetOption("论文:1", "语文:1,数学:2,英语:3", "初中:2,高中:3"); arrText[2] = new objSetOption("例题:2", "显示b2_1:值b2_1,显示b2_2:值b2_2", "显示b3_1:值b3_1,显示b3_2:值b3_2"); arrText[3] = new objSetOption("显示c:值c", "显示c2_1:值c2_1,显示c2_2:值c2_2", "显示c3_1:值c3_1,显示c3_2:值c3_2"); arrText[4] = new objSetOption("显示d:值d", "显示d2_1:值d2_1,显示d2_2:值d2_2", "显示d3_1:值d3_1,显示d3_2:值d3_2"); arrText[5] = new objSetOption("显示e:值e", "显示e2_1:值e2_1,显示e2_2:值e2_2", "显示e3_1:值e3_1,显示e3_2:值e3_2"); function select() { var eltSelect1 = document.test.select1; var eltSelect2 = document.test.select2; var eltSelect3 = document.test.select3; var arrSelect1, arrSelect2, arrSelect3; var arrData1, arrData2, arrData3; with(eltSelect1) { var strSelect = options[selectedIndex].value; } for(i = 0;i < arrText.length;i ++) { arrSelect1 = arrText[i].select1; arrData1 = arrSelect1.split(":"); if (arrData1[1] == strSelect) { arrSelect2 = (arrText[i].select2).split(","); for(j = 0;j < arrSelect2.length;j++) { arrData2 = arrSelect2[j].split(":"); with(eltSelect2) { length = arrSelect2.length; options[j].text = arrData2[0]; options[j].value = arrData2[1]; } } arrSelect3 = (arrText[i].select3).split(","); for(j = 0;j < arrSelect3.length;j++) { arrData3 = arrSelect3[j].split(":"); with(eltSelect3) { length = arrSelect3.length; options[j].text = arrData3[0]; options[j].val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值