我正在使用jQuery Gantt api,我想访问某些元素,但我不知道如何。
$(function() {
"use strict";
//var obj = JSON.parse($(".gantt").gantt);
$(".gantt").gantt({
source: [{
name: "Sprint 0",
desc: "Analysis",
values: [{
from: "/Date(1320192000000)/",
to: "/Date(1322401600000)/",
label: "Requirement Gathering",
customClass: "ganttRed"
}]
}],
navigate: "scroll",
scale: "weeks",
maxScale: "months",
minScale: "days",
itemsPerPage: 10,
onItemClick: function(data) {
alert("Item clicked - show some details");
},
onAddClick: function(dt, rowId) {
alert("Empty space clicked - add an item!");
},
onRender: function() {
if (window.console && typeof console.log === "function") {
console.log("chart rendered");
}
}
});
//alert("OK");
//var parsedData = JSON.parse();
//alert($(".gantt").gantt.source);
$(".gantt").popover({
selector: ".bar",
title: "I'm a popover",
content: "And I'm the content of said popover.",
trigger: "hover"
});
prettyPrint();
});
我发现这个猿带有静态示例,但我试图通过更改元素源的内容来绘制我自己的图表。 所以有些人可以告诉我如何从甘特对象中获取元素源。
答案 0 :(得分:0)
你期待这个吗?
要通过对象访问gantt
元素,请尝试这样做。
var ganttObj = $(".gantt").data("gantt");
或尝试为此instance
创建gantt
。
var ganttObj = $(".gantt").gantt("instance");
ganttObj.model.maxScale = "years" //To change `maxScale` property values dynamically
或者你也可以直接访问你的元素。
例如:要将maxScale
值从月更改为年,您可以使用以下内容。
$(".gantt").gantt({ maxScale: "years" });
如果这有助于您,请告诉我。
答案 1 :(得分:-1)
根据您的示例,您可以简单地将源数据移动到变量中,以便稍后引用它:
var ganttSource = [{
name: "Sprint 0",
desc: "Analysis",
values: [{
from: "/Date(1320192000000)/",
to: "/Date(1322401600000)/",
label: "Requirement Gathering",
customClass: "ganttRed"
}]
}];
$(".gantt").gantt({
source: ganttSource,
...
});
console.log(ganttSource);