为了在jsTree个节点中存储任意数据,我将自定义属性(例如 node-data )传递给create_node方法。但我需要在单个属性中存储多个数据。 (例如名称,年龄等)什么格式最适合node-data属性的值?我正在寻找的是一种可以轻松检索数据的格式。
例如,我们可以使用“name:John,age:26”之类的格式。但是我必须使用逗号作为分隔符来拆分字符串,并在冒号处拆分以分隔名称和值。有更好的方法吗?
答案 0 :(得分:2)
您是否没有使用数据属性?由jquery和每个当前浏览器(HTML5)提供支持。所以代替obj.attr(“myattrib”,true);您可以将任意数据分配给任何对象。您可以轻松地执行以下操作:
node.data("name", "John");
node.data("age", 26);
以后需要时检索它们:
var name = node.data("name");
在服务器端,假设您将数据作为Json数据发送回来,您只需在服务器的json对象中定义(以最简单的形式,您可以获得更高级的)Dictionary元数据,然后检索“name” “从字典中,将对象转换为适当的类型,然后离开!”
答案 1 :(得分:-1)
您可以使用json数据数组中的li_attr和a_attr将html属性传递给节点。
$list[] = array(
'id' => "year_" . $year->Year,
'text' => $year->Year,
'children' => TRUE,
'folder' => 'folder',
'li_attr' => array('year' => $year->Year),
'a_attr' => array('month' => $year->month)
);