如何在动态创建的行中在JQuery中附加json对象
我不熟悉Jquery和Json。 我在ajax成功后动态创建了这个html如何在动态创建的行中在JQuery中附加json对象,jquery,json,Jquery,Json,我不熟悉Jquery和Json。 我在ajax成功后动态创建了这个html <itemsdiv> <item> <row> <div class=col-xs-12></div> </row> <row><div class=col-xs-12></div> </row> <r
<itemsdiv>
<item>
<row>
<div class=col-xs-12></div>
</row>
<row><div class=col-xs-12></div>
</row>
<row><div class=col-xs-12></div>
</row>
</item>
<item>
<row>
<div class=col-xs-12></div>
</row>
<row><div class=col-xs-12></div>
</row>
<row><div class=col-xs-12></div>
</row>
</item>
</itemsdiv>
JQuery:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "main.aspx/GetRooms",
data: "{'arrival':'" + arrival + "','departure':'" + departure + "','nob':'" + nob + "'}",
dataType: "json",
success: function (response) {
var e = $('<div id="itemsdiv"></div>');
$('#step-1 .col-md-12').append(e);
var result = jQuery.parseJSON(response.d);
var length = 0;
for (var key in result) {
if (result.hasOwnProperty(key)) {
length++;
$item= $('<div class="item" />').attr('id', 'room' + length);
$('#itemsdiv').append($item);
var id= result[key].ID;
var title= result[key].Title;
var price= result[key].Price;
}
}
for (var x = 0; x < 3; x = x + 1) {
$row = $('<div class="row" />');
$('.item').append($row);
}
$colx = $("<div class='col-xs-12'></div>");
$('.item'.row').append($colx);
},
error: function (result) {
alert("err");
}
});
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“main.aspx/GetRooms”,
数据:“{'arrival':'“+arrival+”,'Deviation':'“+Deviation+”,'nob':'“+nob+”}”,
数据类型:“json”,
成功:功能(响应){
变量e=$('');
$(#step-1.col-md-12')。附加(e);
var result=jQuery.parseJSON(response.d);
变量长度=0;
for(var输入结果){
if(result.hasOwnProperty(key)){
长度++;
$item=$('').attr('id','room'+长度);
$(#itemsdiv')。追加($项);
var id=result[key].id;
var title=result[key].title;
var price=结果[key]。价格;
}
}
对于(变量x=0;x<3;x=x+1){
$row=$('');
$('.item')。追加($row);
}
$colx=$(“”);
$('.item'.row')。追加($colx);
},
错误:函数(结果){
警惕(“错误”);
}
});
我不知道如何将从db返回的json值放入div中相应的位置。像这样的命令:
<itemsdiv>
<item>
<row>
<div class=col-xs-12> title bla </div>
</row>
<row><div class=col-xs-12> Price 10$ </div>
</row>
<row><div class=col-xs-12></div>
</row>
</item>
<item>
<row>
<div class=col-xs-12> title bla bla</div>
</row>
<row><div class=col-xs-12> Price 100$ </div>
</row>
<row><div class=col-xs-12></div>
</row>
</item>
</itemsdiv>
标题bla
价格10美元
标题bla bla
价格100美元
这有点难理解,但我将尝试与您一起给出这个答案,并把它弄清楚。目前我所能想到的最好情况是,您需要以下内容:
var e = $('<div />', { id: "itemsdiv" }).appendTo('#step-1 .col-md-12'),
r = jQuery.parseJSON(response.d),
i = 0;
$.each(r, function(k) {
var id = this.ID,
title = this.Title,
price = this.Price,
divItem = $('<div />', { "class": "item", id: "room" + i++ }).appendTo(e);
divItem.append(
$('<div />', { "class": "row" }).append($('<div />', { "class": "col-xs-12", text: title })),
$('<div />', { "class": "row" }).append($('<div />', { "class": "col-xs-12", text: price })),
$('<div />', { "class": "row" }).append($('<div />', { "class": "col-xs-12", text: id }))
);
});
我正试图修复企业集团的混乱局面,并发布一个可能的解决方案,但这非常令人困惑。首先,$room
来自哪里?itemsdiv
标记是怎么回事,您意识到自己有语法错误:$(“.item.row”)
?你只需发布一个示例return
和一个HTML的格式就可以了吗?很抱歉,我太糊涂了$房间是$item i更新的。非常感谢