ff下js失效,帮看看怎么改一下?
省份和城市二级联动的菜单,在IE下可以,在FF下失效,错误报"CityObj has no properties"错误,行"var cityCount = cityObj.options.length;"[code]<script language="JavaScript" type="text/javascript">
var cityList;
var cityInitSelected = 0;
function InitCities(provinceObjId, cityObjId) {
var cityObj = document.getElementById(cityObjId);
var cityCount = cityObj.options.length;
var i = 0; j = 0;
var item;
var textArray;
for (i = 0; i < cityCount; i ++) {
item = cityObj.options[i];
if (item.text == "") continue;
j += 1;
}
cityList = new Array(j);
j = 0;
for (i = 0; i < cityCount; i ++) {
item = cityObj.options[i];
if (item.text == "") continue;
textArray = item.text.split("|");
cityList[j] = new Array(item.value, textArray[0], textArray[1]);
j += 1;
}
cityInitSelected = cityObj.value;
try
{
BuildCityList(provinceObjId, cityObjId);
}
finally
{
cityInitSelected = "0";
}
}
function BuildCityList(provinceObjId, cityObjId) {
var provinceObj = document.getElementById(provinceObjId);
var cityObj = document.getElementById(cityObjId);
var i = 0; j = 0; count = 0;
var item;
for (i = 0; i < cityList.length; i ++)
if (provinceObj.value == cityList[i][2]) count += 1;
cityObj.length = count;
for (i = 0; i < cityList.length; i ++)
if (provinceObj.value == cityList[i][2]) {
cityObj.options[j].value = cityList[i][0];
cityObj.options[j].text = cityList[i][1];
j += 1;
}
if (cityInitSelected == 0)
cityObj.options[0].selected = true;
else
cityObj.value = cityInitSelected;
}</script>
<body onload="InitCities('ddlProvince', 'ddlCity')">
<select name="ddlProvince" id="ddlProvince" class="fontnormal" onChange="BuildCityList('ddlProvince', 'ddlCity')">
<option value="北京市">北京市</option>
<option value="天津市">天津市</option>
<option value="河北省">河北省</option>
<option value="山西省">山西省</option>
</select>
</TD>
<TD align=right width=70><P>城市:</P></TD>
<TD><select name="ddlCity" id="select14" class="fontnormal">
<option value="北京市">北京市|北京市</option>
<option value="天津市">天津市|天津市</option>
<option value="石家庄市">石家庄市|河北省</option>
<option value="唐山市">唐山市|河北省</option>
<option value="秦皇岛市">秦皇岛市|河北省</option>
<option value="邯郸市">邯郸市|河北省</option>
<option value="邢台市">邢台市|河北省</option>
<option value="保定市">保定市|河北省</option>
<option value="张家口市">张家口市|河北省</option>
<option value="承德市">承德市|河北省</option>
<option value="沧州市">沧州市|河北省</option>
<option value="廊坊市">廊坊市|河北省</option>
<option value="衡水市">衡水市|河北省</option>
<option value="太原市">太原市|山西省</option>
<option value="大同市">大同市|山西省</option>
<option value="阳泉市">阳泉市|山西省</option>
<option value="长治市">长治市|山西省</option>
<option value="晋城市">晋城市|山西省</option>
<option value="朔州市">朔州市|山西省</option>
<option value="晋中市">晋中市|山西省</option>
<option value="运城市">运城市|山西省</option>
<option value="忻州市">忻州市|山西省</option>
<option value="临汾市">临汾市|山西省</option>
</select>[/code] 你的InitCities是这样的
function InitCities(provinceObjId, cityObjId) {
var cityObj = document.getElementById(cityObjId);
。。。。。。
}
调用入口是body的onload
<body onload="InitCities('ddlProvince', 'ddlCity')">
但是你的select元素id却不是ddlCity
<select name="ddlCity" id="select14" class="fontnormal">
问题就很明显了 谢谢,问题的确如此
页:
[1]