2013-02-25 73 views
0

我需要用戶jquery jstree cookies插件。我的腳本如下:jquery jstree cookies插件拋出undefined錯誤

這是使用Cookie插件腳本:

$(document).ready(function(){ 


    $("#tree").jstree({ 



     "xml_data" : { 

      "ajax" : { 

       "url" : "jstree.xml" 

      }, 

      "xsl" : "nest" 


     }, 
     "themes" : { 

      "theme" : "classic", 

      "dots" : true, 

      "icons" : true 

     }, 
     "ui": { 
     "save_selected" : false, 
     }, 

     "search" : { 

       "case_insensitive" : true, 

       "ajax" : { 

        "url" : "jstree.xml" 

       } 

      }, 

     "cookies" : { 
        "cookie_options" : { 
            "path": "C:/Users/docs" 

            } 
       }, 


       "plugins" : ["themes", "xml_data", "ui","types", "search"] 


    }).bind("select_node.jstree", function (event, data) { 

     $("#tree").jstree("toggle_node", data.rslt.obj); 

網頁錯誤的詳細信息

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) 
Timestamp: Mon, 25 Feb 2013 19:46:57 UTC 


Message: Exception thrown and not caught 
Line: 2053 
Char: 42 
Code: 0 
jquery.jstree.js 

這是它抱怨的行:

if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; } 

是jstree.js文件的cookies插件的一部分,還是有一個單獨的js for cookies插件?如果有不同的cookies.js文件,我可以從哪裏得到這個文件?任何幫助是極大的讚賞。

回答

2

jsTree插件要求jQuery cookie plugin使用cookie。加載jsTree之前一定要加載它。


示例代碼的工作原理:

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="/path/to/jquery.cookie.js"></script> 
    <script src="/path/to/jstree/jquery.jstree.js"></script> 
    <script> 
$(function() { 
    $("#tree").jstree({ 
    "cookies" : { 
        "cookie_options" : { 
            path: 'c:/Users/hceylan1/docs' 
            } 
       }, 
       "xml_data" : { 
      "data" : "" + 
"<root>" + 
    "<item id='node_1'>" + 
     "<content><name>Root node 1</name></content>" + 
    "</item>" + 
    "<item>" + 
     "<content><name>Root node 2</name></content>" + 
    "</item>" + 
    "<item parent_id='node_1'>" + 
     "<content><name>Child node</name></content>" + 
    "</item>" + 
"</root>" 
     }, 

    "plugins" : ["themes", "xml_data", "ui","types", "search", "cookies"] 
    }).bind("select_node.jstree", function (event, data) { 

     $("#tree").jstree("toggle_node", data.rslt.obj); 
    }); 
}); 
    </script> 
</head> 
<body> 
<div id="tree"> 
</div> 
</body> 
</html> 
+0

我downlaoded jcookie.js版本1.2.0從http://plugins.jquery.com/jcookie/,我仍然有同樣的問題。我在jstree插件之前加載它,有什麼想法? – user1471980 2013-02-25 20:10:16

+0

首先,我修復了您應該使用的cookie插件的鏈接。其次,讓我看看你的代碼。 – Stuart 2013-02-25 20:26:55

+0

以下一段代碼可以按預期工作:http://pastebin.com/Ue1H63CB – Stuart 2013-02-25 20:32:58