三级联动效果

转载 2006年06月06日 20:44:00

大家共同进步,共同学习,现把代码贴下,希望能够起到抛砖引玉的效果。


<script language="javascript">
function getcity(objcity,objprov,objplace,defcity,defprov,defplace)
{
while(objcity.options != null && objcity.options.length>0)
{
objcity.options.remove(0);
}
var oOptionFirst= document.createElement("OPTION");
objcity.options.add(oOptionFirst);
oOptionFirst.value = '';
oOptionFirst.innerText = '请选择';
if(defcity == '')
{
oOptionFirst.selected=true;
}
for(i=0;i<city.length;i++)
{
var oOption= document.createElement("OPTION");
objcity.options.add(oOption);
oOption.value = city[i];
oOption.innerText = city[i];
if(city[i] == defcity)
{
oOption.selected = true;
}
}
chgprov(objcity,objprov,objplace,defprov,defplace);
}

function chgprov(objcity,objprov,objplace,defprov,defplace)
{
idx=objcity.selectedIndex-1;
while(objprov.options != null && objprov.options.length>0)
{
objprov.options.remove(0);
}
var oOptionFirst= document.createElement("OPTION");
objprov.options.add(oOptionFirst);
oOptionFirst.value = '';
oOptionFirst.innerText = '请选择';
if(defprov == '')
{
oOptionFirst.selected=true;
}
if(idx >= 0)
{
for(i=0;i<eval('prov'+idx).length;i++)
{
var oOption= document.createElement("OPTION");
objprov.options.add(oOption);
oOption.value = eval('prov'+idx+'[i]');
oOption.innerText = eval('prov'+idx+'[i]');
if(eval('prov'+idx+'[i]') == defprov)
{
oOption.selected = true;
}
}
}
chgplace(objcity,objprov,objplace,defplace);
}


function chgplace(objcity,objprov,objplace,defplace)
{
pidx = objcity.selectedIndex-1;
idx=objprov.selectedIndex-1;
while(objplace.options != null && objplace.options.length>0)
{
objplace.options.remove(0);
}
var oOptionFirst= document.createElement("OPTION");
objplace.options.add(oOptionFirst);
oOptionFirst.value = '';
oOptionFirst.innerText = '请选择';
if(defplace == '')
{
oOptionFirst.selected=true;
}
if(idx >= 0)
{
for(i=0;i<eval('place'+pidx+'_'+idx).length;i++)
{
var oOption= document.createElement("OPTION");
objplace.options.add(oOption);
oOption.value = eval('place'+pidx+'_'+idx+'[i]');
oOption.innerText = eval('place'+pidx+'_'+idx+'[i]');
if(eval('place'+pidx+'_'+idx+'[i]') == defplace)
{
oOption.selected = true;
}
}
}
}
</script>
<form id="form1" method="post" runat="server">
<table>
<tr>
<td width="90" height="24"

align="right"><font color="666666">位置:</font></td>
<td width="90" align="left">
<select name="city" class="p3"

size="1" onChange="chgprov(this,form1.province,form1.place,'','')">
</select></td>
<td width="90" align="left">
<select name="province" class="p3"

size="1" onChange="chgplace(form1.city,this,form1.place,'')">
</select></td>
<td width="119"><select name="place"

class="p3">
</select>
<script>
                            getcity(form1.city,form1.province,form1.place,'','','')
</script>
</td>
</tr>
</table>
</form>


这是后台页面,在page_load 中调用输出就可以 Response.write(getJSContent());
public string getJSContent()
{
SqlConnection conn = new SqlConnection(strconn);
conn.Open();

string strCity = " var city = new Array(" ;
string strProv = "" ;
string strPlace = "" ;
DataTable dt = new DataTable();
string strsql = "select * from xbzy" ;
SqlDataAdapter da = new SqlDataAdapter(strsql,conn);
DataSet ds = new DataSet();
da.Fill(ds);
dt = ds.Tables[0];
for(int i = 0 ;i<dt.Rows.Count ;i++)
{
strCity += "'" + dt.Rows[i][1].ToString().Trim() + "'," ;
string sqli = "select * from xbzy where id = " + dt.Rows[i]

[0].ToString().Trim() ;
SqlDataAdapter dai = new SqlDataAdapter(sqli,conn);
DataSet dsi = new DataSet();
dai.Fill(dsi);
DataTable dti = dsi.Tables[0];
strProv += " var prov" + i + " = new Array(" ;
for(int j = 0 ;j<dti.Rows.Count ; j++)
{
strProv += "'" + dti.Rows[j][1].ToString().Trim() +

"'," ;
string sqlj = "select * from xbzy where id = " +

dti.Rows[j][0].ToString().Trim() ;
SqlDataAdapter daj = new SqlDataAdapter(sqlj,conn);
DataSet dsj = new DataSet();
daj.Fill(dsj);
DataTable dtj = dsj.Tables[0];
strPlace += " var place" + i + "_" + j + " = new

Array(" ;
for(int m = 0 ;m<dtj.Rows.Count ; m++)
{
strPlace += "'" + dtj.Rows[m][1].ToString

().Trim() + "'," ;
}
if(strPlace.EndsWith(","))
{
strPlace = strPlace.Substring

(0,strPlace.Length-1);
}
strPlace += ");/n/r" ;
}
if(strProv.EndsWith(","))
{
strProv = strProv.Substring(0,strProv.Length-1);
}
strProv += ");/n/r" ;
}
if(strCity.EndsWith(","))
{
strCity = strCity.Substring(0,strCity.Length-1);
}
strCity += ");/n/r" ;
conn.Close();
return "<script language='javascript'>/n/r" + strCity + strProv +

strPlace + "</script>" ;
}


有的还不是很完美,还请高手指点!!!

相关文章推荐

安卓Spinner的三级联动菜单效果

今天练习了一个spinner三级联动的效果,下面是代码详情,希望能对其他人有帮助: MainActivity.java public class MyActivity extends Activi...

Android开发之解析XML并实现三级联动效果

本实例主要应用XmlPullParser解析XML文档中的省市区,然后将数据绑定到Spinner上实现三级联动的效果。关于XmlPullParser的详解大家可以参考《Android开发之使用PULL...

Android实现省市区三级联动效果

最近在做项目时有一个选择省市区的三级联动效果。百度上搜了好久也没找到一个合适的控件。后来再github上找到一个不错的三级联动控件,拿来用发现效果还挺好。把自己写的一个demo分享一下。 控件名称为...

JavaScript实现省市县三级联动效果~~~

JavaScript实现省市县三级联动效果的三种方法: 首先,两个公共文件: dbConn.php:连接数据库 //建立数据库的连接 mysql_connect("localhost","...
  • vipyhd
  • vipyhd
  • 2012-06-20 17:42
  • 1218

三级联动效果(例:省-市-区)

三级联动效果的展示 数据库表的设计 查询语句的编写 事件的添加首先是建立一个表,用于两个级别、三个级别、甚至是更高级别的联动效果。 接下来我们首先用最最简单粗暴(占数据库内存为代价)来建一个表:数...

IE、FireFox、Opera全兼容的JS解析XML文件实现省、市、县(区)三级联动效果

之前曾写了一个关于JS解析XML文件实现两级联动的案例,但是发现在Opera、火狐等浏览器中存在不兼容现象,于是今天特别写了一个全兼容的省、市、县(区)三级联动效果的案例。下面是实现代码: ...
  • sxpgog
  • sxpgog
  • 2011-03-22 17:30
  • 24031

自写日期年月日三级联动效果jquery插件

哈哈,好久没写新博文啦,原因是最近一直在研究用jquery UI实现截取头像的功能,哈哈 言归正传,有时候呢,我们会在用户资料的页面用到一个年月日日期的三级联动效果。在网上找了找,没看到有多么合适...

jQuery+JSON三级联动效果,通用

http://www.helloweba.com/view-blog-188.html  基于此篇文章,修改一些源代码,可实现下拉1-3级联动,其中option中   value=id,text=na...

使用mint-ui实现省市区三级联动效果

引用插件:饿了么的mint-ui组件中的picker功能,具体API可参照官网说明:http://mint-ui.github.io/docs/#/zh-cn2/picker 背景:项目需要做一...

通过AJAX调用页面后台代码方法实现省级三级联动效果 (简单练习)前台

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml">      ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)