如何使用单个属性在 jsTree 节点中存储多条数据?

发布于 2024-11-24 16:21:00 字数 358 浏览 4 评论 0原文

为了在 jsTree 节点中存储任意数据,我传递了一个自定义属性(例如 node- data)到 create_node 方法。但我需要在单个属性中存储多条数据。 (例如姓名、年龄等)哪种格式最适合节点数据属性的值?我正在寻找一种可以轻松检索数据的格式。

例如,我们可以采用“name:John,age:26”这样的格式。但我必须使用逗号作为分隔符来分割字符串,并在冒号处分割以分隔名称和值。有更好的方法吗?

In order to store arbitrary data in jsTree nodes, I'm passing a custom attribute (say node-data) to the create_node method. But I need to store more than one piece of data in the single attribute. (For example name,age etc.) What format would be best suited for the value of the node-data attribute? What I'm looking for is a format that will allow easy retrieval of data.

For example we can have a format like "name:John,age:26". But I will have to split the string by using the comma as the delimiter and split at the colon to separate the name and value. Is there a better way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青衫负雪 2024-12-01 16:21:00

您不使用数据属性有什么原因吗? jquery 和当前所有浏览器 (HTML5) 支持。所以而不是 obj.attr("myattrib", true);您可以将任意数据分配给任何对象。您可以轻松地执行以下操作:

node.data("name", "John");
node.data("age", 26);

然后在需要时检索它们:

var name = node.data("name");

在服务器端,假设您将数据作为 Json 数据发送回,您只需在中定义(以最简单的形式,您可以变得更奇特)字典元数据服务器中的 json 对象,然后从字典中检索“name”,将对象转换为适当的类型,然后就可以开始了!

Any reason you're not using data- attributes? Supported by jquery and every current browser (HTML5). So instead of obj.attr("myattrib", true); You can assign arbitrary data to any object. You could easily do things like:

node.data("name", "John");
node.data("age", 26);

and later you retrieve them when needed:

var name = node.data("name");

on the server end, presuming you're sending your data back as Json data, you simply define (in the simplest form, you can get fancier) a Dictionary metadata in the json object in the server, then you retrieve "name" from the dictionary, cast the object to the appropriate type and away you go!

清音悠歌 2024-12-01 16:21:00

您可以使用 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)
);

You can pass html attributes to node, using li_attr and a_attr in json data array.

$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)
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文