この形式のメニューツリーを返すwcfモジュールへのajax呼び出しがあります。ここで(切り捨て)データの変数を使用してjsTreeをロードする方法
{ "data" : [
{
"data" : "Home",
"attr" : {"webpageid" : "1", "url" : "/Intranet/index.html", "appcode" : "Intranet Home", "parent" : "0", "enabled" : "1", "visible" : "1", "target" : "_self ", "order" : "0", "title" : "Home", "itmname" : "index", "submenuclass" : "", "htmlid" : "homenav", "opennewtab" : "true", "externalsite" : "0"},
"children" :[
{
"data" : "Site Administration",
"attr" : {"webpageid" : "64", "url" : "", "appcode" : "Mgmt/S0001", "parent" : "1", "enabled" : "1", "visible" : "1", "target" : "_self ", "order" : "1", "title" : "Site Administration", "itmname" : "SiteAdmin", "submenuclass" : "", "htmlid" : "", "opennewtab" : "false", "externalsite" : "0"},
"children" :[
{
"data" : "Add Web Page",
"attr" : {"webpageid" : "65", "url" : "/Intranet/admin/mgmt/addwebpage.html", "appcode" : "Mgmt/S0002", "parent" : "64", "enabled" : "1", "visible" : "1", "target" : "_self ", "order" : "1", "title" : "Add Web Page", "itmname" : "AddPage", "submenuclass" : "", "htmlid" : "", "opennewtab" : "false", "externalsite" : "0"}
}
]
}
]
}、...より多くのデータ... ]}
は私のAJAX呼び出しからのコールバック関数です。
function fSucc(data) {
$(function() {
$('#webpagetree').jstree({
"json_data": (function() { return data; })(),
"ui": { "select_limit": 1 },
"plugins": ["themes", "json_data", "ui", "themeroller", "dnd", "crrm"]
}).bind("select_node.jstree", function (e, data) {
alert(jQuery.data(data.rslt.obj[0], "jstree").id)
});
});
}
が、それはしていませんjsTreeのインスタンスを作成またはロードします。
代わりに「データもajax設定も提供されていません」というエラーが表示されます。 また、データをグローバル変数に入れて返しました。
任意のヘルプ
Iwouldはそう思っていたが、私はそれを試してみました、それは動作しませんでした。私は1.5.2を使用しています。それが問題なのだろうか? – edepperson
Hmm、OK。私は3つのことを試してみる:1.あなたの関数のデータをハードコードして、期待どおりの作業をチェックする。 2. console.logを使用して、 'data'の値をチェックして、期待どおりになっていることを確認します。 3:あなたのajaxから単純なバージョンのデータを出力してみてください。例えば、jstree docsの作業用jsonのコピーです。 – ChrisA