是啊,问题是出在这里
你从EJB返回的是什么东西
后面的用了eval函数
也就是说对应的是js下面的数组对象,而==前面的应该也是类似的东西
<%=EJB.ex_chinese(rs.getString("City"))%>这样的东西假如是字符串在这里要加引号
你可以先试下
if ( eval('<%=EJB.ex_chinese(rs.getString("City"))%>') == eval(a[i]))
你从EJB返回的是什么东西
后面的用了eval函数
也就是说对应的是js下面的数组对象,而==前面的应该也是类似的东西
<%=EJB.ex_chinese(rs.getString("City"))%>这样的东西假如是字符串在这里要加引号
你可以先试下
if ( eval('<%=EJB.ex_chinese(rs.getString("City"))%>') == eval(a[i]))
<td height="18"><div align="right"><font size="2">地区:</font></div></td>
<td height="18"><div align="left"><font size="2">
<select name="Province" onChange="cityName(this.value)">
<option value="<%=(isedit)?(EJB.ex_chinese(rs.getString("Province"))):("")%>"><%=(isedit)?(EJB.ex_chinese(rs.getString("Province"))):("选择省份")%></option>
</select>
<select name="City">
<option value="<%=(isedit)?(EJB.ex_chinese(rs.getString("City"))):("")%>"><%=(isedit)?(EJB.ex_chinese(rs.getString("City"))):("城市")%></option>
</select>
<script language="JavaScript" type="text/JavaScript">
var cityouterHTML = document.form1.City.outerHTML.substr(0, document.form1.City.outerHTML.length-9);
function Province()
{
var shengName = ["北京","上海","天津","重庆","香港","澳门","台湾省","广东省","江苏省","浙江省","山东省","福建省","辽宁省","黑龙江省","河北省","湖北省","湖南省","安徽省","吉林省","海南省","四川省","陕西省","山西省","河南省","新疆区","江西省","广西区","内蒙古区","云南省","甘肃省","宁夏区","青海省","贵州省","西藏区"]; //这些数据可以从数据库中取得 var e = document.form1.Province;
var z ;
var s = e.outerHTML.substr(0, e.outerHTML.length-9) + "\r\n";
for (var i=0; i<shengName.length; i++){
s += "<option value='"+ shengName[i] +"'>"+ shengName[i] +"</option>\r\n";};
s += "</select>";
e.outerHTML = s;
} Province();function cityName(val)
{
var 北京 = ["北京"]//这些数据可以从数据库中取得
var 上海 = ["上海"]
var 天津 = ["天津"]
var 重庆 = ["重庆"]
var 香港 = ["香港"]
var 澳门 = ["澳门"]
var 台湾省 = ["台湾"]
var 广东省 = ["广州","韶关","深圳","珠海","汕头","佛山","江门","湛江","茂名","肇庆","惠州","梅州","汕尾","河源","阳江","清远","东莞","中山","潮州","揭阳","云浮"]
var 江苏省 = ["南京","无锡","徐州","常州","苏州","南通","连云港","淮安","盐城","扬州","镇江","泰州","宿迁"]
var 浙江省 = ["杭州","宁波","温州","嘉兴","湖州","绍兴","金华","衢州","舟山","台州","丽水"]
var 山东省 = ["济南","青岛","淄博","枣庄","东营","烟台","潍坊","济宁","泰安","威海","日照","莱芜","临沂","德州","聊城","滨州","菏泽"]
var 福建省 = ["福州","厦门","莆田","三明","泉州","漳州","南平","龙岩","宁德"]
var 辽宁省 = ["沈阳","大连","鞍山","抚顺","本溪","丹东","锦州","营口","阜新","辽阳","盘锦","铁岭","朝阳","葫芦岛"]
var 黑龙江省 = ["哈尔滨","齐齐哈尔","鸡西","鹤岗","双鸭山","大庆","伊春","佳木斯","七台河","牡丹江","黑河","绥化","大兴安岭"]
var 河北省 = ["石家庄","唐山","秦皇岛","邯郸","邢台","保定","张家口","承德","沧州","廊坊","衡水"]
var 湖北省 = ["武汉","黄石","十堰","宜昌","襄樊","鄂州","荆门","孝感","荆州","黄冈","咸宁","恩施州","神农架","随州","仙桃","潜江","天门"]
var 湖南省 = ["长沙","株洲","湘潭","衡阳","邵阳","岳阳","常德","益阳","郴州","永州","怀化","娄底","吉首","张家界"]
var 安徽省 = ["合肥","芜湖","蚌埠","淮南","马鞍山","淮北","铜陵","安庆","黄山","滁州","阜阳","宿州","六安","宣城","巢湖","池州","亳州"]
var 吉林省 = ["长春","吉林","四平","辽源","通化","白山","松原","白城","延边州"]
var 海南省 = ["海口","三亚","五指山","琼海","儋州","文昌","万宁","东方","澄迈县","定安县","屯昌县","临高县","白沙","昌江","乐东","陵水","保亭","琼中"]
var 四川省 = ["成都","阿坝","巴中","达州","德阳","甘孜","广安","广元","乐山","凉山","泸州","眉山","绵阳","内江","南充","攀枝花","遂宁","雅安","宜宾","资阳","自贡"]
var 陕西省 = ["西安","安康","宝鸡","汉中","商洛","商州","铜川","渭南","咸阳","延安","榆林"]
var 山西省 = ["太原","大同","阳泉","长治","晋城","朔州","忻州","吕梁地区","晋中地区","临汾","运城"]
var 河南省 = ["郑州","开封","平顶山","洛阳","安阳","鹤壁","新乡","焦作","濮阳","许昌","漯河","三门峡","南阳","商丘","信阳","周口","驻马店","济源市"]
var 新疆区 = ["乌鲁木齐","阿克苏","阿拉尔","阿图什","巴音郭楞","博尔塔拉","昌吉","哈密","和田","喀什","克拉玛依","克孜勒苏","石河子","图木舒克","吐鲁番","五家渠","伊犁"]
var 江西省 = ["南昌","景德镇","萍乡","九江","新余","鹰潭","赣州","宜春","上饶","吉安","抚州"]
var 广西区 = ["南宁","柳州","桂林","梧州","北海","防城港","钦州","贵港","玉林","贺州","百色","河池","崇左","来宾"]
var 内蒙古区 = ["呼和浩特","包头","乌海","赤峰","呼伦贝尔","兴安","鄂尔多斯","锡林郭勒","乌兰察布","巴彦卓尔","阿拉善","通辽"]
var 云南省 = ["昆明","保山","楚雄","大理","德宏","迪庆","个旧","红河","景洪","开远","丽江","临沧","潞西","怒江","曲靖","思茅","文山","西双版纳","玉溪","昭通"]
var 甘肃省 = ["兰州","白银","定西","甘南","嘉峪关","金昌","酒泉","临夏","陇南","平凉","庆阳","天水","武威","玉门","张掖"]
var 宁夏区 = ["银川","固原","青铜峡","石嘴山","吴忠","中卫"]
var 青海省 = ["西宁","果洛","海北","海东","海南藏族","海西","黄南","玉树"]
var 贵州省 = ["贵阳","安顺","毕节","赤水","都匀","凯里","六盘水","铜仁","兴义","遵义"]
var 西藏区 = ["拉萨","阿里","昌都","林芝","那曲","日喀则","山南"]
var e = document.form1.City;
var s = cityouterHTML;
if ((val == "") || (val =="北京") || (val =="上海") || (val =="重庆") || (val =="天津") || (val =="台湾省") || (val =="香港") || (val =="澳门")) {s += "</select>"; e.outerHTML = s; return;}
var a = eval(val);
for (var i=0; i<a.length; i++)
{
s += "<option value='"+ a[i] +"'>"+ a[i] +"</option>\r\n";
}
s += "</select>";
e.outerHTML = s;
}
</script>
</font></div></td>
select name="Province" onChange="cityName(this.value)">
<option value="<%=(isedit)?(EJB.ex_chinese(rs.getString("Province"))):("")%>"><%=(isedit)?(EJB.ex_chinese(rs.getString("Province"))):("选择省份")%></option>
</select>
直接赋值。这样有个坏处就是更换了省份以后不换城市会对应不起来,比如以前省是山东,城市是济南,然后改省为山西,城市不改的话还是济南。这样入库就是山西济南了,我吧代码贴在楼上,请大家给个解决办法