2012-03-28 25 views
0

page1.phpがpage2.phpからTreeviewを取得するためにAjaxを呼び出しています(ここでAjaxを使用するのは、Treeviewがdbに基づいて変更されたためです)。 TreeviewはここのJqueryプラグインです。したがって、Treeview用のJqueryライブラリがすべてpage1.phpにインポートされている必要があります。JaveryプラグインがAjaxで動作しない

ただし、Jqueryライブラリはトリガされません。 console.log($("#browser").treeview());は空のJquery()を表示しています。

誰かが私を助けることができますか?どうもありがとう!私はどこでもあなたが提供するマークアップで#browser要素が表示されていない

--Ajax 1ページで一部---

<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の一部である場合、コンテンツがページに読み込まれると、ツリービュープラグインを実行する必要があります。

jQueryが空のセットを返すと、セレクタに一致する要素が見つかりませんでした。