以下是代码。parent.listtable2.document.getElementsByName("uplinkid")是一个<select>function edit(devicename,devicetype,uplinkid,xpoint,ypoint,stationid){

    parent.listtable2.document.forms[1].devicename.value=devicename;
    parent.listtable2.document.forms[1].devicetype.value=devicetype;
    parent.listtable2.document.forms[1].uplinkid.value=uplinkid;
    parent.listtable2.document.forms[1].xpoint.value=xpoint;
    parent.listtable2.document.forms[1].ypoint.value=ypoint;
    parent.listtable2.document.forms[1].stationid.value=stationid;
    
    var deviceFlag=parent.listtable2.document.getElementById("editdiv");
if(parent.listtable2.document.getElementById("editdiv").style.display=="none"){
parent.listtable2.document.getElementById("editdiv").style.display="block";
parent.listtable2.document.getElementById("adddiv").style.display="none";
}
if(devicetype==1){
var v1 = parent.listtable2.document.getElementsByName("uplinkid");
var v2 = v1[1];
v2.disabled=true;
}
if(devicetype==2){
DwrService.getList_Sr(resultMethod2);
}
if(devicetype==3){
DwrService.getList_8505(resultMethod2);
}
// alert(1);
var v1 = parent.listtable2.document.getElementsByName("uplinkid");
var v = v1[1].options;
// alert(v1[1].length);
// alert(parent.listtable2.document.getElementsByName("uplinkid")[1][0].value);
for(var i=0;i<v.length;i++){
if(v[i].value==uplinkid){
v[i].selected=true;
}
}

window.location.target="listtable2";

}
function resultMethod2(resultValue){
var v1 = parent.listtable2.document.getElementsByName("uplinkid");
var v = v1[1];
     v.length=0;
     var option =new Option();
option.text="--请选择--";
    option.value=-1;
        v.add(option);
        // alert(resultValue.length);
     for(var i=0;i<resultValue.length;i++){
    
        var option =new Option();
        option.text=resultValue[i][1];
        option.value=resultValue[i][0];
        v.add(option);
    }
}这个是源码~~有问题的是这段代码,(第一个方法的结尾部分)
        // alert(1);
var v1 = parent.listtable2.document.getElementsByName("uplinkid");
var v = v1[1].options;
alert(v.length);
// alert(parent.listtable2.document.getElementsByName("uplinkid")[1][0].value);
for(var i=0;i<v.length;i++){
if(v[i].value==uplinkid){
                        alert(v.length);
v[i].selected=true;
}
}
        window.location.target="listtable2";第一个alert弹出来的值是1,第二个alert弹出来的是40(这个是正确结果)------(按理说应该都一样的啊??)然后我把上面的alert(1)注释取消掉,接下来两个alert(v.length)的值都是40了。
用confirm弹出个确定对话框后效果也是一样。难道select的options属性要停顿一下才能取出来?
哪位高手遇到过类似问题,或者能解释清楚的??