2011-03-29 10 views
0

경고 메시지가 표시되지 않습니다. IE9에서 내가 뭘 잘못 했니?배열 길이를 가져올 수 없습니다.

<script type="text/javascript"> 
    var countrieslist=document.sc.s1 
    var subjlist=document.sc.s2 

    var subj=new Array() 
    subj[0]="" 
    subj[1]=["New York|newyorkvalue", "Los Angeles|loangelesvalue", "Chicago|chicagovalue", "Houston|houstonvalue", "Austin|austinvalue"] 
    subj[2]=["Vancouver|vancouvervalue", "Tonronto|torontovalue", "Montreal|montrealvalue", "Calgary|calgaryvalue"] 
    subj[3]=["London|londonvalue", "Glasgow|glasgowsvalue", "Manchester|manchestervalue", "Edinburgh|edinburghvalue", "Birmingham|birminghamvalue"] 

function updateSubj(selectsubj) { 
    if (selectsubj>0){ 
     for (i=0; i<subj[selectsubj].length; i++) { 
     alert("ss"); 
      //s2.options[subjlist.options.length]=new Option(subj[selectsubj][i].split("|")[0], subj[selectsubj][i].split("|")[1]) 
     } 
    } 
} 
</script> 
+1

을 확인하여 반복 가능의 경우도 확인할 수 있습니다. for 루프 앞에 길이를 알려주려고 시도하십시오. – corroded

+0

subj [1] .length로 변경하려고했으나 여전히 경고하지 않습니다. – Jame

+0

어디에서 updateSubj를 호출합니까? selectubj 값은 무엇입니까?, 확실합니까> 0, 맞습니까? – Morvader

답변

0

배열인지 확인해야합니다.

function update (i) { 
    if (subj[i] instanceof Array) 
     for(var j in subj[i]) 
      alert(subj[i][j]); 
    else 
     alert(subj[i] || 'is undefined'); 
} 

는 흔들림 감지가 [selectsubj] 모든 항목이없는 것을 의미 length 속성

if (subj[i].length) // iterate list 
관련 문제