【发布时间】:2016-10-29 18:17:23
【问题描述】:
以下是我使用JSONLint 验证的 JSON 数据:
[{
"text": "Products",
"data": {},
"children": [{
"text": "Fruit",
"data": {
"price": "",
"quantity": "",
"AddItem": "+",
"RemoveItem": "×"
},
"children": [{
"text": "Apple",
"data": {
"price": 0.1,
"quantity": 20,
"AddItem": "+",
"RemoveItem": "×"
}
}, {
"text": "Strawberry",
"data": {
"price": 0.15,
"quantity": 32,
"AddItem": "+",
"RemoveItem": "& #215"
}
}],
"state": {
"opened": false
}
}, {
"text": "Vegetables",
"data": {
"price": "",
"quantity": "",
"AddItem": "&# 43;",
"RemoveItem": "×"
},
"children": [{
"text": "Aubergine",
"data": {
"price": 0.5,
"quantity": 8,
"AddItem": "+",
"RemoveItem": "×"
}
}, {
"text": "Cauliflower",
"data": {
"price": 0.45,
"quantity": 18,
"AddItem": "+",
"RemoveItem": "×"
}
}, {
"text": "Potato",
"data": {
"price": 0.2,
"quantity": 38,
"AddItem": "+",
"RemoveItem": "×"
}
}]
}],
"state": {
"opened": false
}
}]
我正在寻找的是将键 AddItem 和 RemoveItem 的值转换为 HTML 按钮。
上面的 JSON 将用于渲染 jsTree plugin 中的节点。
jsFiddle 链接我将在其中使用此 json 数据。基本上,我想用相同的按钮替换我的 + 和 - 符号
有没有人可以解决这个问题?
编辑 1: 我在一些地方读到过,不建议直接在 JSON 数据中添加 HTML 元素,因为它可以在代码中的许多地方使用,而且每次都可能有一个不同的HTML。如果有人有更好的方法来做到这一点,那就太好了。
【问题讨论】:
-
This might be helpful, though it uses right clicks instead of buttons. 我认为如果你能以某种方式添加一个类属性或其他东西,你可以使用 jQuery 的 onClick 事件。
-
当添加按钮被点击只是一个项目或一个文件夹时,你想添加什么,删除按钮也是如此?
-
您可以尝试在您的 json 添加类中添加代码 html 以获取点击事件jsfiddle.net/x9wd6k3x/14
-
您可以将监听器添加到按钮例如:
$(document).on("click", ".remove", function(){ alert('remove clicked');});并调用函数来添加或删除jsfiddle.net/x9wd6k3x/15 -
它为你工作??你想从按钮中添加或删除?? jsfiddle.net/x9wd6k3x/16
标签: jquery html json treetable jstree-dnd