Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 敲除js组初始json并显示在列中_Knockout.js - Fatal编程技术网

Knockout.js 敲除js组初始json并显示在列中

Knockout.js 敲除js组初始json并显示在列中,knockout.js,Knockout.js,在我的示例中,我需要按项目分组,然后按天显示数据 请看 我想展示如下: 项目1周日小时周一小时 var json = [ { "HOURS": 0, "PROJECT_NAME": "Project 1", "DATE_WORKED": "/Date(1353225600000)/" }, { "HOURS": 0, "PROJECT_NAME": "Project 2", "DATE_WO

在我的示例中,我需要按项目分组,然后按天显示数据

请看

我想展示如下:

项目1周日小时周一小时

    var json =  [
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353225600000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353225600000)/"
    },
    {
      "HOURS": 8.5,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353312000000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353312000000)/"
    },
    {
      "HOURS": 8,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353398400000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353398400000)/"
    },
    {
      "HOURS": 8.5,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353484800000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353484800000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353571200000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353571200000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353657600000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353657600000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353744000000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353744000000)/"
    }
];

var Project = function(data){
    this.PROJECT_NAME = ko.observable(data.PROJECT_NAME);
    this.HOURS = ko.observable(data.HOURS);
};

var ProjectRowItem = function(data){
    this.PROJECT_NAME = ko.observable(data.PROJECT_NAME);    
    this.SundayProjectEntry = new Project(data);
    this.MondayProjectEntry = new Project(data);
    this.TuesdayProjectEntry = new Project(data);
    this.WednesdayProjectEntry = new Project(data);
    this.ThursdayProjectEntry = new Project(data);
    this.FridayProjectEntry = new Project(data);
    this.SaturdayProjectEntry = new Project(data);
};


var viewModel = {
    Projects : ko.observableArray(ko.utils.arrayMap(json, function(item){
         return new ProjectRowItem(item);            
    })),
    NewProjectName : ko.observable()
};

viewModel.addRow = function()
{
    var data = { 
        PROJECT_NAME : viewModel.NewProjectName(),
        HOURS : "0"
    };

    viewModel.Projects.push(new ProjectRowItem(data));          
}

viewModel.removeRow = function(project)
{    
    viewModel.Projects.remove(project);          
}   


ko.applyBindings(viewModel);
项目2周日小时周一小时

    var json =  [
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353225600000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353225600000)/"
    },
    {
      "HOURS": 8.5,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353312000000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353312000000)/"
    },
    {
      "HOURS": 8,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353398400000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353398400000)/"
    },
    {
      "HOURS": 8.5,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353484800000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353484800000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353571200000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353571200000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353657600000)/"
    },
    {
      "HOURS": 4,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353657600000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 1",
      "DATE_WORKED": "/Date(1353744000000)/"
    },
    {
      "HOURS": 0,
      "PROJECT_NAME": "Project 2",
      "DATE_WORKED": "/Date(1353744000000)/"
    }
];

var Project = function(data){
    this.PROJECT_NAME = ko.observable(data.PROJECT_NAME);
    this.HOURS = ko.observable(data.HOURS);
};

var ProjectRowItem = function(data){
    this.PROJECT_NAME = ko.observable(data.PROJECT_NAME);    
    this.SundayProjectEntry = new Project(data);
    this.MondayProjectEntry = new Project(data);
    this.TuesdayProjectEntry = new Project(data);
    this.WednesdayProjectEntry = new Project(data);
    this.ThursdayProjectEntry = new Project(data);
    this.FridayProjectEntry = new Project(data);
    this.SaturdayProjectEntry = new Project(data);
};


var viewModel = {
    Projects : ko.observableArray(ko.utils.arrayMap(json, function(item){
         return new ProjectRowItem(item);            
    })),
    NewProjectName : ko.observable()
};

viewModel.addRow = function()
{
    var data = { 
        PROJECT_NAME : viewModel.NewProjectName(),
        HOURS : "0"
    };

    viewModel.Projects.push(new ProjectRowItem(data));          
}

viewModel.removeRow = function(project)
{    
    viewModel.Projects.remove(project);          
}   


ko.applyBindings(viewModel);


编辑1-我想做的是按项目对数据进行分组,然后在列中显示该项目的每个数组项。

我想到了这个。有更好的方法吗?你到底在寻求什么帮助?最初,看起来只有html标记需要修改。