2012-03-05 6 views
0

jquery를 사용하여 특정 div 태그에 원격 웹 페이지를로드하려하지만 페이지가 무한 루프로 이동하려고합니다. 그것에 대해 해결책을 말해주십시오. 다음은 내가 사용했던 코드입니다.무한 루프 오류

<div id="data" style="display:none"></div> 
     <div id="data1" style="display:none"></div> 
      <div id="data2" style="display:none"></div> 
<form name="frm" id="frm" method="post" action=""> 
     <select id="Make" name="Make" onchange="test1(this.value)"> 
     <option value="">Choose Make</option> 
     </select> 
     <select id="year" name="year" onchange="test2(this.value)"> 
     <option value="">Choose Year</option> 
     </select> 
     <select id="model" name="model" onchange=""> 
     <option value="">Choose Year</option> 
     </select> 
     </form> 
<script type="text/javascript"> 
    function test() 
    { 
     $.get("/SearchResults.asp?Cat=1833", function (data) 
     { 
     //alert("test1"); 
        $('#data').html(data); 

     }); 
       getVa(); 

    } 
    test(); 


    function test1(val) 
    { 
     $.get(val, function (data) 
     { 
       //alert("test2"); 
        $('#data1').html(data); 
     }); 
       getVa(); 

    } 


    function test2(val) 
    { 
     $.get(val, function (data) 
     { 
       // alert("test3"); 
        $('#data2').html(data); 
     }); 
       getVa(); 

    } 

    function getVa() 
    { 
    var lnk =new Array(); 
    var cnt=0; 
    var val=new Array 
    $("a").each(function(index){ 
    if($(this).attr("class")=="subcategory_link") 
    { 


    //document.getElementsById("year").innerHTML="<option value="+$(this).attr("href")+">test</option>"; 
    lnk[cnt]=$(this).attr("href"); 
    cnt=cnt+1; 
     //alert($(this).attr("href")); 

    } 
    }); 
    cnt=0; 
    $("span").each(function(ind){ 
    if($(this).attr("class")=="subcategory_name") 
    { 
     val[cnt]=$(this).text(); 
     cnt=cnt+1; 
    } 
    }); 


    var select = document.getElementById("Make"); 
    var select1 = document.getElementById("year"); 
    var select2 = document.getElementById("model"); 


    if(select.options.length<=1) 
    { 

    for(i=0; i<lnk.length;i++) 
    { 
    select.options[select.options.length] = new Option(val[i], lnk[i]); 
     //alert(lnk[i]); 
     //alert(val[i]); 
    } 
    } 
    else if(select1.options.length<=1) 
    { 
    select1.options[select1.options.length] = new Option(val[i], lnk[i]); 
    } 
    else if(select2.options.length<=1) 
    { 
    select2.options[select2.options.length] = new Option(val[i], lnk[i]); 
    } 

    } 
    </script> 

URL : http://tinyurl.com/7zml6yn

+0

문제 해결을위한 많은 코드가 있습니다. 오류가 발생하지 않는 코드를 제거하여 문제의 범위를 좁힐 수도 있습니다. 오류가 더 이상 존재하지 않을 때까지 트리밍 및 테스트를 계속 한 다음 제거한 마지막 것을 다시 넣으십시오. –

+0

은 "새로운 옵션()"유효한 javascript/jquery입니까? – jbabey

+0

부수적으로,'.each' 함수의 첫 번째 인자가 인덱스이기 때문에'cnt'는 필요 없습니다. – pimvdb

답변

0

당신이 (당신이 searchresults.asp을 위에서 우리를 도시 한 HTML IE) 같은 페이지를로드하는 경우, 다음 페이지를 구문 분석 할 때 스크립트를 실행하려고 테스트를 다시 호출 할 html을로드하십시오.