其实也不算是标题说的问题。实际应该算是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出错。。我实在找不到为什么,请大家帮忙了。。
下面是我的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出错。。我实在找不到为什么,请大家帮忙了。。
解决方案 »
- js 兼容问题
- 有人用过jquery easyui吗,自定义列内容求救
- JS中改变背景图片大小
- javascript 树形菜单复选框
- 这个如何写正则表达式?
- 请问谁有比较好的关于JS开发的电子图书?
- form中有两个radio,名字都为firstagree,一个value为“同意”,一个value为“不同意”,怎样才能在提交form时确定是选择了哪个,是选择了“
- ★★★★★急!如何遍历一个tag下面的所有tag? 请教高手,在线等待。★★★★★
- 在那里怎么没有权限
- 高分请教HTC(IE5.0版)中的属性重载?虎虎虎~
- Flash幻灯片变小了(focus.swf)
- ie8.0 不能用document.all.item了吗?用这个标签取不到值
[a11, a21],
[a21, a22]
];这种形式,换行也不怕。:D如果不想换,那么,你的文字要紧接%>出现, 不能在%>后硬回车
<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>
我自己写的省市级联