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>
#browser 요소는 어디에 있습니까? 나는 당신의 마크 업에서 그것을 보지 못했다. – Redtopia
#browser 요소가 page2.php에 있습니다. – Acubi
예제가 불완전하므로 무슨 일이 일어 났는지 말하기 어렵습니다. showTreeview() 함수를 호출 할 어떤 코드도 보이지 않으므로이 예제에서도 왜 그런지 확실하지 않습니다. ShankarSangoli가 말했듯, #browser가 page2.php에 있다면, 그 페이지에서 트리 뷰를 인스턴스화해야합니다. $ (document) .ready();를 사용할 수 있습니다. 그 페이지 안쪽에 그것을 할 수 있습니다. – Redtopia