我是新的dynatree用法。除了将每个分支的最后一个子节点显示为null之外,所有内容都很酷且很懒惰。
$("#tree").dynatree({
title: "Lazy loading sample",
fx: { height: "toggle", duration: 200 },
autoFocus: false,
initAjax: {
url: "/get_top_level_nodes",
data: { mode: "funnyMode" }
},
onActivate: function(node) {
$("#echoActive").text("" + node + " (" + node.getKeyPath()+ ")");
},
onLazyRead: function(node){
node.appendAjax({
url: "/get_children",
data: { key: node.data.key,mode: "funnyMode"}
});
}
});
如果json结果不为null,如下所示。它的工作正常。杰森:[ { "title": "Node1", "isLazy": true, "key": "BC13B21636CD6D5C"}, { "title": "Node1", "isLazy": true, "key": "BC13B21636CD6D5C"}]
如果ajax结果为空[]
,我将返回null
。然而,我在该分支中看到一个null
的子节点。我怎么能删除这个?如果没有孩子,我不想显示null
或其他任何内容。
答案 0 :(得分:1)
如果ajax结果为空[],则返回null。
您应该返回[]
; - )
答案 1 :(得分:0)
如果结果是[]数组而不是[{" title":" Node1","是懒惰":是真的,"键&#34 ;:" BC13B21636CD6D5C"},{" title":" Node1","懒惰":真实,"关键&#34 ;:" BC13B21636CD6D5C"}],
如果父母没有孩子,则返回nil。我在控制器中有格式方法,我用它将子数组格式化为子格式,
答案 2 :(得分:0)
$res = mysql_query($req) or die(mysql_error());
$i=0;
while($cat = mysql_fetch_assoc($res)) {
$cats[] = $cat;
$i = 1;
}
if ($i)
echo json_encode($cats);
else
echo "[]";