使用 AjaxPro 来完成二级联动的效果
2008-12-26 10:49
337 查看
现在在实现二级连动或是三级连动方面,都是采用ajax来完成的。网上的例子也很多。 我采用的是AjaxPro来完的。 如何配置AjaxPro我就不说了。
BigClassid 前台页面
<script type="text/javascript">
function ShowCity(id)
{
var result = chen.getCityList(id).value;
var ddlcity = document.getElementById("ddlCity");
ddlcity.length=0;
for(var i=0; i<result.Rows.length; i++)
{
ddlcity.options.add(new Option(result.Rows[i].SmallClass,result.Rows[i].id));
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<p>
省份:<asp:DropDownList ID="ddlPro" runat="server">
</asp:DropDownList>
市区:<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</p>
<div>
</div>
</form>
</body>
<script type="text/javascript">
function ShowCity(id)
{
var result = chen.getCityList(id).value;
var ddlcity = document.getElementById("ddlCity");
ddlcity.length=0;
for(var i=0; i<result.Rows.length; i++)
{
ddlcity.options.add(new Option(result.Rows[i].SmallClass,result.Rows[i].id));
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<p>
省份:<asp:DropDownList ID="ddlPro" runat="server">
</asp:DropDownList>
市区:<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</p>
<div>
</div>
</form>
</body>
后台:
[AjaxPro.AjaxNamespace("chen")]
public partial class ddlTwo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ddlTwo));
SqlConnection conn = new SqlConnection("server=.; uid=sa; pwd=chen123; database=C_News; ");
conn.Open();
SqlCommand cmd = new SqlCommand("", conn);
string strsql = "select * from C_BigClass";
cmd.CommandText = strsql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
this.ddlPro.DataSource = dt;
this.ddlPro.DataValueField = "id";
this.ddlPro.DataTextField = "BigClass";
this.ddlPro.DataBind();
this.ddlPro.Attributes["onchange"] = "ShowCity(this.options[selectedIndex].value)";
conn.Close();
}
[AjaxPro.AjaxMethod]
public DataTable getCityList(int id)
{
Hashtable ht = new Hashtable();
SqlConnection conn = new SqlConnection("server=.; uid=sa; pwd=chen123; database=C_News; ");
conn.Open();
SqlCommand cmd = new SqlCommand("", conn);
string strsql = "select * from C_SmallClass where BigClassid="+id+"";
cmd.CommandText = strsql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
如果我们要进行三级或四级连动,其实很简单,只要在Page_load下面this.ddlPro.Attributes["onchange"] = "ShowCity(this.options[selectedIndex].value)"; 的下面为每个下拉框都加一个方法就行了。只不过多写几个public DataTable getCityList(int id)的程序。
.pb{}
.pb textarea{font-size:14px; margin:10px; font-family:"宋体"; background:#FFFFEE; color:#000066}
.pb_t{line-height:30px; font-size:14px; color:#000; text-align:center;}
/* 分页 */
.pagebox{overflow:hidden; zoom:1; font-size:12px; font-family:"宋体",sans-serif;}
.pagebox span{float:left; margin-right:2px; overflow:hidden; text-align:center; background:#fff;}
.pagebox span a{display:block; overflow:hidden; zoom:1; _float:left;}
.pagebox span.pagebox_pre_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}
.pagebox span.pagebox_pre{color:#3568b9; height:23px;}
.pagebox span.pagebox_pre a,.pagebox span.pagebox_pre a:visited,.pagebox span.pagebox_next a,.pagebox span.pagebox_next a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; text-align:center; width:53px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_pre a:hover,.pagebox span.pagebox_pre a:active,.pagebox span.pagebox_next a:hover,.pagebox span.pagebox_next a:active{color:#363636; border:1px #2e6ab1 solid;}
.pagebox span.pagebox_num_nonce{padding:0 8px; height:23px; line-height:23px; color:#fff; cursor:default; background:#296cb3; font-weight:bold;}
.pagebox span.pagebox_num{color:#3568b9; height:23px;}
.pagebox span.pagebox_num a,.pagebox span.pagebox_num a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; padding:0 8px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_num a:hover,.pagebox span.pagebox_num a:active{border:1px #2e6ab1 solid;color:#363636;}
.pagebox span.pagebox_num_ellipsis{color:#393733; width:22px; background:none; line-height:23px;}
.pagebox span.pagebox_next_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}
BigClassid 前台页面
<script type="text/javascript">
function ShowCity(id)
{
var result = chen.getCityList(id).value;
var ddlcity = document.getElementById("ddlCity");
ddlcity.length=0;
for(var i=0; i<result.Rows.length; i++)
{
ddlcity.options.add(new Option(result.Rows[i].SmallClass,result.Rows[i].id));
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<p>
省份:<asp:DropDownList ID="ddlPro" runat="server">
</asp:DropDownList>
市区:<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</p>
<div>
</div>
</form>
</body>
<script type="text/javascript">
function ShowCity(id)
{
var result = chen.getCityList(id).value;
var ddlcity = document.getElementById("ddlCity");
ddlcity.length=0;
for(var i=0; i<result.Rows.length; i++)
{
ddlcity.options.add(new Option(result.Rows[i].SmallClass,result.Rows[i].id));
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<p>
省份:<asp:DropDownList ID="ddlPro" runat="server">
</asp:DropDownList>
市区:<asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList>
</p>
<div>
</div>
</form>
</body>
后台:
[AjaxPro.AjaxNamespace("chen")]
public partial class ddlTwo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ddlTwo));
SqlConnection conn = new SqlConnection("server=.; uid=sa; pwd=chen123; database=C_News; ");
conn.Open();
SqlCommand cmd = new SqlCommand("", conn);
string strsql = "select * from C_BigClass";
cmd.CommandText = strsql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
this.ddlPro.DataSource = dt;
this.ddlPro.DataValueField = "id";
this.ddlPro.DataTextField = "BigClass";
this.ddlPro.DataBind();
this.ddlPro.Attributes["onchange"] = "ShowCity(this.options[selectedIndex].value)";
conn.Close();
}
[AjaxPro.AjaxMethod]
public DataTable getCityList(int id)
{
Hashtable ht = new Hashtable();
SqlConnection conn = new SqlConnection("server=.; uid=sa; pwd=chen123; database=C_News; ");
conn.Open();
SqlCommand cmd = new SqlCommand("", conn);
string strsql = "select * from C_SmallClass where BigClassid="+id+"";
cmd.CommandText = strsql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
如果我们要进行三级或四级连动,其实很简单,只要在Page_load下面this.ddlPro.Attributes["onchange"] = "ShowCity(this.options[selectedIndex].value)"; 的下面为每个下拉框都加一个方法就行了。只不过多写几个public DataTable getCityList(int id)的程序。
.pb{}
.pb textarea{font-size:14px; margin:10px; font-family:"宋体"; background:#FFFFEE; color:#000066}
.pb_t{line-height:30px; font-size:14px; color:#000; text-align:center;}
/* 分页 */
.pagebox{overflow:hidden; zoom:1; font-size:12px; font-family:"宋体",sans-serif;}
.pagebox span{float:left; margin-right:2px; overflow:hidden; text-align:center; background:#fff;}
.pagebox span a{display:block; overflow:hidden; zoom:1; _float:left;}
.pagebox span.pagebox_pre_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}
.pagebox span.pagebox_pre{color:#3568b9; height:23px;}
.pagebox span.pagebox_pre a,.pagebox span.pagebox_pre a:visited,.pagebox span.pagebox_next a,.pagebox span.pagebox_next a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; text-align:center; width:53px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_pre a:hover,.pagebox span.pagebox_pre a:active,.pagebox span.pagebox_next a:hover,.pagebox span.pagebox_next a:active{color:#363636; border:1px #2e6ab1 solid;}
.pagebox span.pagebox_num_nonce{padding:0 8px; height:23px; line-height:23px; color:#fff; cursor:default; background:#296cb3; font-weight:bold;}
.pagebox span.pagebox_num{color:#3568b9; height:23px;}
.pagebox span.pagebox_num a,.pagebox span.pagebox_num a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; padding:0 8px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_num a:hover,.pagebox span.pagebox_num a:active{border:1px #2e6ab1 solid;color:#363636;}
.pagebox span.pagebox_num_ellipsis{color:#393733; width:22px; background:none; line-height:23px;}
.pagebox span.pagebox_next_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}
相关文章推荐
- 使用 AjaxPro 来完成二级联动的效果
- 一天搞定jQuery(四)——使用jQuery完成省市二级联动的效果
- ajax完成异步的省市联动效果--使用xml接收数据
- asp.net下使用AjaxPro实现二级联动代码
- 使用AjaxPro联动DropDownList的变相方法
- 用AjaxPro实现二级联动
- 使用ajax+json+struts实现省份下拉框二级联动
- asp.net使用ajax省市二级联动
- 使用ajax实现二级联动
- 用AjaxPro实现二级联动
- Ajax和JSON完成二级菜单联动的功能
- 使用json完成联动效果
- 使用 AjaxPro 开发四级无刷新联动下拉框
- Ajax和JSON完成二级菜单联动的功能
- asp.net使用ajax省市二级联动
- 使用Ajax和Jquery配合数据库实现下拉框的二级联动
- js使用xml数据载体实现城市省份二级联动效果
- 在laravel中使用ajax实现二级联动
- 用AjaxPro实现二级联动