2012-03-28 2 views
0

page1.php는 page2.php에서 Treeview를 가져 오기 위해 Ajax를 호출합니다 (여기에서 Ajax를 사용하는 이유는 Treeview가 db에 따라 변경 되었기 때문입니다). Treeview는 Jquery 플러그인입니다. 따라서, Treeview 용 Jquery 라이브러리가 page1.php에서 모두 가져왔다.Ajax에서 Jquery 플러그인이 작동하지 않습니다.

그러나 Jquery 라이브러리는 트리거되지 않습니다. console.log($("#browser").treeview());이 비어있는 Jquery()를 보여줍니다.

나를 도와 줄 사람이 있습니까? 많은 감사합니다! 내가 #browser 요소 어디서나 제공되는 마크 업이 표시되지 않는 페이지 1

--Ajax 부분 ---

<head> 

<script src="jquery.treeview.js" type="text/javascript"></script> 

<script type="text/javascript"> 
     $(document).ready(function(){ 


      $("#browser").treeview(); 

      console.log($("#browser").treeview()); 
      //show Jquery()-means the jquery.treeview didn't called 


     }); 

</script> 

<script type="text/javascript"> 

function showTreeview() 
      { 

       if (window.XMLHttpRequest) 
       {// code for IE7+, Firefox, Chrome, Opera, Safari 
        xmlhttp=new XMLHttpRequest(); 
       } 
       else 
       {// code for IE6, IE5 
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
       xmlhttp.onreadystatechange=function() 
       { 
        if (xmlhttp.readyState==4 && xmlhttp.status==200) 
        { 
         document.getElementById("treemenu").innerHTML=xmlhttp.responseText; 
        } 
       } 

       xmlhttp.open("POST","page2.php",true); 
       xmlhttp.send(); 
      } 

</script> 
</head> 

<body> 
<div id="treemenu"> 
</div> 
</body> 
+0

#browser 요소는 어디에 있습니까? 나는 당신의 마크 업에서 그것을 보지 못했다. – Redtopia

+0

#browser 요소가 page2.php에 있습니다. – Acubi

+0

예제가 불완전하므로 무슨 일이 일어 났는지 말하기 어렵습니다. showTreeview() 함수를 호출 할 어떤 코드도 보이지 않으므로이 예제에서도 왜 그런지 확실하지 않습니다. ShankarSangoli가 말했듯, #browser가 page2.php에 있다면, 그 페이지에서 트리 뷰를 인스턴스화해야합니다. $ (document) .ready();를 사용할 수 있습니다. 그 페이지 안쪽에 그것을 할 수 있습니다. – Redtopia

답변

1

. page2.php의 일부인 경우 내용이 페이지에로드되면 treeview 플러그인을 실행해야합니다.

jQuery가 빈 집합을 제공하는 경우 선택자와 일치하는 요소를 찾지 못했음을 의미합니다.

관련 문제