点击修改vis.js数据集中的项目内容
modify item content in vis.js dataset on click
我们已经创建了一个包含以下条目的数据集:
var items = new vis.DataSet([
{id: 1, content: 'item 1', start: moment('8:00', "hh:mm"), end: moment('9:00', "hh:mm")},
{id: 2, content: 'item 2', start: moment('9:00', "hh:mm")},
{id: 3, content: 'item 3', start: moment('10:00', "hh:mm")},
{id: 4, content: 'item 4', start: moment('11:00', "hh:mm")}
现在我们想做的是能够点击item1
,例如改变它的内容;我尝试使用功能dataset.update
:
items.on('*', function (event, properties, senderId) {
var itemId = timeline.getSelection();
items.update({id: timeline.getSelection(), content: 'updated', start: moment('9:00', "hh:mm")});
});
但是我们得到这个错误:
第2项中缺少属性"content"。
我没有测试你的代码片段,但问题可能是"时间轴"。getSelection"返回一个包含id和"项"的数组。更新"只接受单个对象或对象数组作为"data"参数。
解决方案1:您需要循环遍历选择数组,为每个条目创建一个数据对象,并将其传递给"items.update"。
解决方案2:准备一个对象数组,并将数组传递给items.update。
参考:- visjs.org/docs/timeline/index.html#Methods -> getSelection()- http://visjs.org/docs/data/dataset.html#Methods -> update(data [, senderId])
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在jstree中,如何将指定的节点集中到大型树上
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 在javascript中搜索项目列表的性能
- 如何将本地依赖项添加到npm项目中
- angularjs移除焦点上的活动类并添加到下一个项目
- 不可变.js:删除集中的项目
- 点击修改vis.js数据集中的项目内容