Javascript 为什么我的内部对象中的值为空?

Javascript 为什么我的内部对象中的值为空?,javascript,jquery,html,javascript-objects,Javascript,Jquery,Html,Javascript Objects,我只是想得到这样的JSON输出 { "SW Reqs or Problem Analysis & Estimate": { "Estimate_Days": "I", "Performers": "am", "Percent_Done": "so", "Work_Done": "frustrated", "Remaining_Work": "this", "Comments": "won't" }, "SW Requirements Doc

我只是想得到这样的JSON输出

{
"SW Reqs or Problem Analysis & Estimate": {
    "Estimate_Days": "I",
    "Performers": "am",
    "Percent_Done": "so",
    "Work_Done": "frustrated",
    "Remaining_Work": "this",
    "Comments": "won't"
},
"SW Requirements Doc ( in DOORS)": {
    "Estimate_Days": "WORK",
    "Performers": "PLEASE",
    "Percent_Done": "HELP",
    "Work_Done": "AAHHHHH",
    "Remaining_Work": "HHHHHH",
    "Comments": "HHHHHH!!!!"
}, ...etc
{
"SW Reqs or Problem Analysis & Estimate": {
    "Estimate_Days": "",
    "Performers": "",
    "Percent_Done": "",
    "Work_Done": "",
    "Remaining_Work": "",
    "Comments": ""
},
"SW Requirements Doc ( in DOORS)": {
    "Estimate_Days": "",
    "Performers": "",
    "Percent_Done": "",
    "Work_Done": "",
    "Remaining_Work": "",
    "Comments": ""
},...etc
但是我的json看起来像这样

{
"SW Reqs or Problem Analysis & Estimate": {
    "Estimate_Days": "I",
    "Performers": "am",
    "Percent_Done": "so",
    "Work_Done": "frustrated",
    "Remaining_Work": "this",
    "Comments": "won't"
},
"SW Requirements Doc ( in DOORS)": {
    "Estimate_Days": "WORK",
    "Performers": "PLEASE",
    "Percent_Done": "HELP",
    "Work_Done": "AAHHHHH",
    "Remaining_Work": "HHHHHH",
    "Comments": "HHHHHH!!!!"
}, ...etc
{
"SW Reqs or Problem Analysis & Estimate": {
    "Estimate_Days": "",
    "Performers": "",
    "Percent_Done": "",
    "Work_Done": "",
    "Remaining_Work": "",
    "Comments": ""
},
"SW Requirements Doc ( in DOORS)": {
    "Estimate_Days": "",
    "Performers": "",
    "Percent_Done": "",
    "Work_Done": "",
    "Remaining_Work": "",
    "Comments": ""
},...etc
这是我的剧本

$('#test').click(function(){
    var content = {};
    var inner = {};
    $('.Data').each(function() {

        var row = $(this).siblings(":first").text();
        var id = $(this).attr('id').split('~');
        var blah = id[0];
        var html = $(this).html();
        content[row] = inner;
        inner[blah] = html;
    });
    var hey = JSON.stringify(content);
    console.log(hey);
});
它迭代表中的
s。如果我测试一下
console.log(html)
console.log(内部[blah])
它从
输出我需要的数据,但由于某些原因,当我尝试输出
内容时,它会将它们显示为空白

这条线有问题吗

content[row] = inner;
inner[blah] = html;
这是创建对象
content
的正确方法吗?该对象的键为
row
,值为另一个名为
internal
的对象,该对象的键为
blah
,值为
html
?这不应该这么难。我肯定错过了什么。我读到,当您有多维对象时,您也可以使用JSON,但我不明白为什么“Estimate_Days”之后的字符串是空的。请帮忙

编辑:下面是生成html的php循环的几行:

foreach($group_results as $group){
    echo '<tr><td class="Row_Title'.$group['Group_ID'].'">'.$group['Group_Name'].'</td>';
    echo '<td class="Data" contenteditable="true" name="Estimate_Days~'.$group['Group_ID'].'" id="Estimate_Days~'.$group['Group_ID'].'"></td>';
    echo '<td class="Data" contenteditable="true" name="Performers~'.$group['Group_ID'].'" id="Performers~'.$group['Group_ID'].'"></td>'; ...etc
foreach($group\u结果为$group){
回显'.$group['group_Name'].';
回声';
回声“;…等

更新:请注意,您发布的循环代码中的
td
内容似乎是空的。这很可能就是为什么所有内容都是空的,但它掩盖了对象引用的附加问题

正如我所提到的,您每次都在使用相同的
internal
实例。您真正想做的是找到每个
行标题
单元格,然后为其中的每一个单元格填充一行剩余的同级。我建议使用以下javascript(带有一些示例HTML进行演示)。这将在每个“行”中循环并将外部数组设置为行标题的标题,然后循环遍历类型数据的每个同级,并相应地设置该内部数组的各个属性

$(“#测试”)。单击(函数(){
var内容={};
$('.Row_Title')。每个(函数(){
var row=$(this.text();
内容[行]={};
$(this).this(“.Data”).each(function(){
var id=$(this.attr('id').split('~');
blah=id[0];
var html=$(this.html();
内容[行][blah]=html;
});
})
var-hey=JSON.stringify(内容);
console.log(嘿);
});

标题1
字段1值1
字段2值1
标题2
字段1值2
字段2值2
去

将所有html js代码放入(菜单>保存并给我们链接)我会更新我的问题并在那里发布所有内容,那里有一些我不能用小提琴复制的php。如果只是一个有几行的静态示例,那么看到HTML会很好。可能的问题是:
content
的所有值都指向同一个单数
内部
对象。@stephen.vakil-hmm我也应该这样做吗在其他地方实例化内部对象?比如可能执行第二个循环?比如实例化
内容
,在每个
中启动一个循环,在其中实例化
内部
,然后通过
s用循环中的值填充它,然后将其添加到
内容
对象中并重复?哇,stephen、 我现在就开始处理这个。是的,它们是空的,但它们是可编辑的,我让用户输入内容。我想这会起作用的,太棒了,非常感谢。