来自ajax成功的数组将数据放入表中的相应输入中

时间:2015-04-04 03:48:59

标签: javascript php jquery mysql ajax

在我的项目中,我有一个ajax请求从数据库中选择条目我选择的数据是建筑物的面积和楼层数,它的格式是这样的

"storey": [{
    "storeyno": "1st Floor",
    "areastorey": "1"
}, {
    "storeyno": "2nd Floor",
    "areastorey": "2"
}, {
    "storeyno": "3rd Floor",
    "areastorey": "3"
}, {
    "storeyno": "4th Floor",
    "areastorey": "4"
}, {
    "storeyno": "5th Floor",
    "areastorey": "5"
}, {
    "storeyno": "6th Floor",
    "areastorey": "6"
}],

两个数据组合是每个表的行。 Storeyno表示楼层编号,它只是pareastoery是输入值,它是楼层的区域。

我的问题是如何在输入文本中再次将它放回去。楼层号码没有问题(storeyno),因为我动态生成它,问题在于输入值。

for (var j = 0; j < storeyno.length; j++) {
    console.log(storeyno);
    var bldgstorey = $('table#floor').find('tr:not(:first-child,:last-child)');
    if (storeyno[j].storeyno !== null) {
        bldgstorey.each(function() {
            var floornumber = $(this).find('td p').text();
            var floorinput = $(this).find('td input[type=text]').attr('id');
            console.log(storeyno[j].areastorey + " = " + floorinput);
            console.log(floorinput);
            $(this).find('td input[type=text]').val(storeyno[j].areastorey);
            //$(this).find('td:nth-child(2)').find('input[type=text]').val(storeyno[j].areastorey);
        });
    }
}

请注意,我从选择器添加了tr:not(:first-child,:last-child),因为第一行是标题,而最后一行是总和。

FYI

我动态生成行,但它与问题无关,所以我认为这不重要

Update

Sample

更新了样本楼层样本作为样本数据

Sample with exact same floors

Problem

如何正确地将值从数据库正确放置到输入。当我正确地说floor 1 input text box will be populated by database that is for floor 1

1 个答案:

答案 0 :(得分:1)

使用下面的代码。使用jquery each()从json获取数据。

检查此DEMO

  $.each(storey,function(key,value){
   $('#floor'+(key+1)).val(value.areastorey);
  });