var province = document.getElementById("Select1");
var hid1 = document.getElementById('<%=HiddenField4.ClientID %>');
for(var i = 0; i < province.options.length;i++)
{
if(province.options[i].value == hid1.value)
{
province.options[i].selected = true;
}
} 这段代码在IE中执行就出现"无法设置selected属性。未指明的错误." 在IE7中正常.
哪位牛人帮忙改改。。
解决方案 »
- 这句话什么意思var plugin = $.editable.types[settings.type].plugin || function () { };
- javascript如何获得链接上参数的值?只有一个参数
- jquery 怎么选择li标记
- 关于JS RegExp 正则的Replace的问题,在线等,当场给分
- 文本框中闪烁光标的屏幕坐标取法?
- 如何解決亂碼的問題?
- 怎样在所有的浏览器都屏蔽菜单栏、工具栏、地址栏和状态栏
- 怎样进行日期比较啊
- 谁有用jscript得到当前路径的代码?麻烦给一个全的。
- 求一个js正则表达式 验证端口及端口范围
- 如何在EASYUI DATAGRID中进行查询?从页面文本框获取条件,不是从DATAGRID中获取条件。
- 【求助】Ext3.4中自己写的TriggerField扩展用到editorgrid里时editor返回单元格赋值失败
var province = document.getElementById("Select1");
var hid1 = document.getElementById(' <%=HiddenField4.ClientID %>');
for(var i = 0; i < province.options.length;i++)
{
if(province.options[i].value == hid1.value)
{
province.options[i].setAttribute("selected","selected");
}
}
var province = document.getElementById("Select1");
var hid1 = document.getElementById(' <%=HiddenField4.ClientID %>');
for(var i = 0; i < province.options.length;i++)
{
if(province.options[i].value == hid1.value)
{
province.options[i].setAttribute("selected","selected");
break;
}
}
如果问题依旧出现,请提供网页链接,我用IE6访问试试。<select id="Select1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input id="hid1" type="hidden" value="3"/>
<script type="text/javascript">
var province = document.getElementById("Select1");
var hid1 = document.getElementById('hid1');
for (var i = 0; i < province.options.length; i++) {
if (province.options[i].value == hid1.value) {
province.options[i].selected = true;
break;
}
}
</script>
但是楼上的方法,在IE6中加载不出,我IE7就很正常。还有一点奇怪,就是省能加载出来,市 县到了IE6就没了
// todo
}
//创建XMLhttpRequest
function CreateXmlhttp()
{
try
{
if(window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
xmlhttp=new XMLHttpRequest();
}
}
catch(Error)
{
throw new Error("无法创建xmlHttpRequest");
}
}
//获取省
window.onload=function(){
CreateXmlhttp();
xmlhttp.open("post","Help.aspx?action=true",true);
xmlhttp.onreadystatechange=SelectProvince;
xmlhttp.send(null);
}
//省的回调函数
function SelectProvince()
{
if(xmlhttp.readyState==4 || xmlhttp.readyState=="Complete")
{
var ContrPrice=xmlhttp.responseText;
var arry=new Array();
arry=ContrPrice.split("/");
var text=new Array();
var values=new Array();
text=arry[1].split(",");
values=arry[0].split(",");
var province=document.getElementById("Select1");
for(var i=0;i<text.length-1;i++)
{
var option=document.createElement("option");
option.innerHTML=text[i];
option.value=values[i];
province.appendChild(option);
}
SetValue3();
}
}
//获取市
function Selectcity()
{
var PriceId=document.getElementById("Select1").value;
CreateXmlhttp();
xmlhttp.open("post","Help.aspx?province_id="+PriceId,true);
xmlhttp.onreadystatechange=cityName;
xmlhttp.send(null);
var city=document.getElementById("Select2");
for(var i=1;i<city.length;)
{
city.remove(i);
}
var district =document.getElementById("Select3");
for(var i=1;i<district.length;)
{
district.remove(i);
}
}
//市的回调函数
function cityName()
{
if(xmlhttp.readyState==4 || xmlhttp.readyState=="Complete")
{
var City=xmlhttp.responseText;
var grrn= City.split("/");
var cityText=new Array();
var CityValue=new Array();
cityText=grrn[1].split(",");
CityValue=grrn[0].split(",");
var city=document.getElementById("Select2");
for(var i = 0 ; i < city.length ; i++) //填充前前先清空
{
if(i != 0)
{
city.remove(i);
i--;
}
}
for(var i=0;i <cityText.length-1;i++)
{
var option=document.createElement("option");
option.innerHTML=cityText[i];
option.value=CityValue[i];
city.appendChild(option);
}
SetValue4();
}
}
//获取县
function SelectCounty()
{
CreateXmlhttp();
var City_id=document.getElementById("Select2").value;
xmlhttp.open("post","Help.aspx?City_id="+City_id);
xmlhttp.onreadystatechange=County;
xmlhttp.send(null);
}
//县的回调函数
function County()
{
if(xmlhttp.readyState==4 || xmlhttp.readyState=="Complete")
{
var County=xmlhttp.responseText;
var grrn=County.split("/");
var Count_Text=grrn[0].split(",");
var Count_value=grrn[1].split(",");
var Count_post=grrn[2].split(",");
var County_select=document.getElementById("Select3");
for(var i = 0 ; i < County_select.length ; i++) //填充前前先清空
{
if(i != 0)
{
County_select.remove(i);
i--;
}
}
for(var i=0;i<Count_Text.length-1;i++)
{
var option= document.createElement("option");
option.innerHTML=Count_Text[i];
option.value=Count_value[i];
County_select.appendChild(option);
}
var text = document.getElementById('<%=txtPost.ClientID %>');
text.value = Count_post[0];
SetValue5();
}
}
//加载页面时设置select的值
function SetValue3()
{
var province = document.getElementById("Select1");
var hid1 = document.getElementById('<%=HiddenField4.ClientID %>');
for(var i = 0; i < province.options.length;i++)
{
if(province.options[i].value == hid1.value)
{
province.options[i].selected = true;
// break;
}
}
Selectcity();
}
function SetValue4()
{
var city = document.getElementById("Select2");
var hid2 = document.getElementById('<%=HiddenField5.ClientID %>');
for(var i = 0; i < city.options.length;i++)
{
if (city.options[i].value == hid2.value)
{
city.options[i].selected = true;
}
}
SelectCounty();
}
function SetValue5()
{
var district = document.getElementById("Select3");
var hid3 = document.getElementById('<%=HiddenField6.ClientID %>');
for(var i = 0; i < district.options.length;i++)
{
if (district.options[i].value == hid3.value)
{
district.options[i].selected = true;
}
}
}
province.value = province.options[i].value;
break;
}
if(province.options[i].value == hid1.value)
{
alert(hid1.value); province.value = province.options[i].value;
break;
}
才能加载出来
setTimeout(function () {
...........
}, 100);
var hid1 = document.getElementById(' <%=HiddenField4.ClientID %>');
for(var i = 0; i < province.options.length;i++)
{
if(province.options[i].value == hid1.value)
{
province.options[i].value= hid1.value;
}
}
-----------------
这样试试
break; //再加个退的
还可以用setTimeout延迟一下:setTimeout(function(){ oSelect.selectedIndex = iIndex; }, 0);
最后是比较推荐的用setAttribute来设置:oSelect.options[iIndex].setAttribute("selected", "true");参考这里以前测试的,不知对不对
刚刚卸载了IE7。这样处理: if(province.options[i].value == hid1.value)
{
setTimeout(function(){ province.options[i].selected = true;}, 1);
} province.options[i]为空或不是对象。。
if(province.options[i].value == hid1.value)
{
alert("dd");
province.options[i].setAttribute("selected", "true");
}
哪个没加 哪个就不会出来
怎么回事?
(function(){
if (province.options[i].value == hid1.value) {
province.options[i].selected=true;
return false;
}
})()
}
这2个方法一起是相互调用的。。嘿嘿、 在Selectcity()方法里写了个第定时器 setTimeout("SetValue3()",1) ; 谢谢各位大哥了 结账。
谁去帮我看看这个啊
又是一个IE6的问题
try{
province.options[i].selected = true;
}catch(e){}