【发布时间】:2014-11-02 12:23:23
【问题描述】:
我的问题是这个。我有一个 d3 甘特图,它在第一次加载数据时工作正常,问题是当我使用我的过滤器表单查询另一个数据时。结果查询和 json 编码正常,但 d3.json 不接受我在 d3 甘特图中绘制的新结果。我用console.log查看数据,没问题。
这是我获取 d3 数据的代码
d3.json("json", function(error,json){
var tasks = [];
var taskNames = [];
for(var i = 0; i < json.length; i++){
var HANDLERID = json[i].HANDLERID;
taskNames.push(HANDLERID);
tasks.push({"startDate": new Date(json[i].START1),
"endDate": new Date(json[i].END1),
"taskName": HANDLERID,
"status": json[i].VAL1 });
tasks.push({"startDate": new Date(json[i].START2),
"endDate": new Date(json[i].END2),
"taskName": HANDLERID,
"status": json[i].VAL2 });
tasks.push({"startDate": new Date(json[i].START3),
"endDate": new Date(json[i].END3),
"taskName": HANDLERID,
"status": json[i].VAL3 });
}
console.log(tasks);
console.log(taskNames);
tasks.sort(function(a, b) {
return a.endDate - b.endDate;
});
var maxDate = tasks[tasks.length - 1].endDate;
tasks.sort(function(a, b) {
return a.startDate - b.startDate;
});
var minDate = tasks[0].startDate;
var format = "%Y-%b-%d";
var gantt = d3.gantt().taskTypes(taskNames).tickFormat(format);
gantt(tasks);
});
这是我的 jquery 帖子
function searching(){
var input_handlermodel = $("#input_handlermodel").val();
var input_handlerid = $("#handlerid").val();
$.post("../../mini/pm/json",
{input_handlermodel : input_handlermodel, input_handlerid : input_handlerid},
function(data){$("#result").html(data);});
}
这就是我对结果查询进行 json 编码的方式
$sth1 = ibase_query($query);
$items = array();
while($row1 = ibase_fetch_object($sth1) ) {
array_push($items, $row1);
}
$result["rows"] = $items;
echo json_encode($items);
【问题讨论】:
-
guyz 如果我有一个表单然后 json 编码查询结果并在同一个甘特图上绘制数据,d3.json 可以捕获新数据??????有人做过吗?????????
标签: javascript jquery json svg d3.js