一个关于二级联动的问题

redhousecj 2009-09-16 06:27:04
其实也不算是标题说的问题。实际应该算是java脚本的问题。
下面是我的asp+javascript
----------------------------------------
<script type="text/javascript">
<%
dim sql,i,j
set rs_Province=server.createobject("adodb.recordset")
sql="select * from Province order by ProvinceOrder"
rs_Province.open sql,conn,1,1
%>
var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));
<%
for i=1 to rs_Province.recordcount
%>
selects['<%=rs_Province("ProvinceNo")%>']=new Array(
<%
set rs_City=server.createobject("adodb.recordset")
sql="select * from City where ProvinceID="&rs_Province("ProvinceNo")&" order by CityOrder"
rs_City.open sql,conn,1,1
if rs_City.recordcount>0 then
for j=1 to rs_City.recordcount
if j=rs_City.recordcount then
%>
new Option('<%=trim(rs_City("CityName"))%>','<%=trim(rs_City("CityNo"))%>'));
<%else%>
new Option('<%=trim(rs_City("Cityname"))%>','<%=trim(rs_City("CityNo"))%>'),
<%
end if
rs_City.movenext
next
else
%>
new Option('','0'));
<%
end if
rs_City.close
set rs_City=nothing
rs_Province.movenext
next
rs_Province.close
set rs_Province=nothing
%>
function chsel(){
with (document.form1){
if(Province_select.value) {
City_select.options.length=0;
for(var i=0;i<selects[Province_select.value].length;i++){
City_select.add(selects[Province_select.value][i]);
}
}
}
}
</script>
-----------------------------------
代码是没问题我点“Province_select”下拉框的时候老出现“缺少对象”后来研究生成的后的html后发现是多了换行才出错的,以下是成的后的html:
-----------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 2</title>
</head>
<script type="text/javascript">

var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));

selects['0']=new Array(

new Option('北京市
','1'));

selects['1']=new Array(

new Option('合肥市
','2'),

new Option('芜湖市','3'),

new Option('安庆市','4'));

selects['2']=new Array(

new Option('济南市','5'),

new Option('青岛市','6'));

selects['3']=new Array(

new Option('','0'));

function chsel(){
with (document.form1){
if(Province_select.value) {
City_select.options.length=0;
for(var i=0;i<selects[Province_select.value].length;i++){
City_select.add(selects[Province_select.value][i]);
}
}
}
}
</script>

<body>
<script language=javascript>


</script>
<form name=form1>
最后,结合html,Javascript和Vbscript实现联动效果。代码如下:


<!--//////////////////////////Province_select下拉列表//////////////////////////-->
<select name="Province_select" onChange=chsel()>
<option value="xxx" selected>请选择省份……</option>

<option value="0" >北京市</option>

<option value="1" >安徽省</option>

<option value="2" >山东省</option>

<option value="3" >江苏省</option>

</select>

<!--//////////////////////////City_select下拉列表//////////////////////////-->
<select name="City_select">

</select>
</form>
</body>
</html>
-----------------------------
大家注意到了没有“北京市"后面换行了。所以java出错。。我实在找不到为什么,请大家帮忙了。。
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xie_yanke 2009-09-17
  • 打赏
  • 举报
回复
改成:

var a = [
[a11, a21],
[a21, a22]
];

这种形式,换行也不怕。:D

如果不想换,那么,你的文字要紧接%>出现, 不能在%>后硬回车
TzSword 2009-09-17
  • 打赏
  • 举报
回复

<html>

<head>

<title>城市级联</title>
<script language="javascript">
function changeCity()
{
var CityList=new Array();
CityList['请选择']=['请选择'];
CityList['江苏省']=['南京市','扬州市','苏州市','宿迁市','徐州市','淮安市','盐城市'];
CityList['山东省']=['济南市','青岛市','淄博市','东营市','烟台市','潍坊市','泰安市'];
CityList['湖北省']=['武汉市','宜昌市','荆州市','黄石市','十堰市','黄冈市'];
var pIndex=document.getElementById("city").value;
var newOption;
document.getElementById("next").options.length=0;
for(var j in CityList[pIndex])
{
newOption=new Option(CityList[pIndex][j],CityList[pIndex][j]);
document.getElementById("next").options.add(newOption);
}
}
function AddEvent()
{
document.getElementById("city").onchange=changeCity;
}
window.onload=AddEvent;
</script>
</head>

<body>
<select id="city">
<option value="请选择">请选择</option>
<option value="江苏省">江苏省</option>
<option value="山东省">山东省</option>
<option value="湖北省">湖北省</option>
</select>
<select id="next">
<option>请选择</option>
</select>
</body>

</html>


我自己写的省市级联
redhousecj 2009-09-17
  • 打赏
  • 举报
回复
天哪,数据库中的值保证没换行
z_j188 2009-09-17
  • 打赏
  • 举报
回复
我这里有例子,给我邮箱,我发给你
xinyung 2009-09-16
  • 打赏
  • 举报
回复
数据库中的值就带换行了

87,910

社区成员

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

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