【发布时间】:2011-11-26 17:26:00
【问题描述】:
我想通过jQuery.each和数据hotel_id从数组中追加一些,每个hotel_id的编号是4,这个循环$.each(data[0].hotel_id,... });在self内部运行4次内容,以防数据库行中有或插入residence_u 和 residence_p 3 次(每个有 3 个,而不是 4 个(如 hotel_id)),当运行以下代码时,此代码没有错误只是无法工作。如果我删除代码 $.each(info_ru.units,... }); 和 $.each(info_rp.start_date,... }); 它有效:如何修复它?
查看我的完整 js 代码:[http://pastebin.com/jBWEDZrN][1]
这是我在 ajax 调用 (url: 'get_gr',) 中的 js 代码的摘要:
$.each(data[0].hotel_id, function (index, value) {
var $li = $('<li><input name="hotel_id[]" value="' + value.hotel_id + '" style="display:none;"></li>');
var $tooltip = $('<div class="tooltip"></div>').appendTo($li);
$li.appendTo('#residence_name');
var info_ru = data[0].residence_u[index];
$.each(info_ru.units, function (index, value) {
$tooltip.append(value + ' & ' + info_ru.extra[index] + ' & ' + info_ru.price[index] + '<br>');
});
var info_rp = data[0].residence_p[index];
$.each(info_rp.start_date, function (index, value) {
$tooltip.append(value + ' & ' + info_rp.end_date[index] + ' & ' + info_rp.price_change[index] + '<br>');
});
tool_tip()
});
这是输出php代码(url: 'get_gr',):
[{
"guide": null,
"hotel_id": [{
"hotel_id": ["1"]
}, {
"hotel_id": ["2"]
}, {
"hotel_id": ["3"]
}, {
"hotel_id": ["4"]
}],
"residence_u": [{
"units": ["hello", "how", "what"],
"extra": ["11", "22", "33"],
"price": ["1,111,111", "2,222,222", "3,333,333"]
}, {
"units": ["fine"],
"extra": ["44"],
"price": ["4,444,444"]
}, {
"units": ["thanks", "good"],
"extra": ["55", "66"],
"price": ["5,555,555", "6,666,666"]
}],
"residence_p": [{
"start_date": ["1111", "2222"],
"end_date": ["1111", "2222"],
"price_change": ["1111", "2222"]
}, {
"start_date": ["3333", "4444"],
"end_date": ["3333", "4444"],
"price_change": ["3333", "4444"]
}, {
"start_date": ["5555", "6666"],
"end_date": ["5555", "6666"],
"price_change": ["5555", "6666"]
}]
}]
更新:
我在数据库表的一行中插入了几个(array)值和json_encode,现在想用jquery将它们作为顺序回显。
输出js代码是这样的:
1hello&11&1,111,111how&22&2,222,222what&33&3,333,333,1111&1111&11112222&2222&2222
2fine&44&4,444,4443333&3333&33334444&4444&@987654326 p>
3thanks&55&5,555,555good&66&6,666,6665555&5555& @987654372 >6666&6666&6666
4
【问题讨论】:
-
很难用如此多的测试而不是有意义的数据来判断您要做什么。我试图将你的组件放在一起,看看在运行jsfiddle.net/TStKJ 时它是否更有意义,但据我所知,它似乎运行没有错误。错误可能出在您的 ToolTip() 方法中吗?
-
@AliciaCibrian:从另一个问题继续对话,如果
hotel_id和residence_u和residence_p的数量应该相等,那么我不知道当它们时你应该怎么做'不是。每个hotel_id对象是否应该有自己的residence_u和residence_p对象?如果是这样,为什么不将它们组合在一起?为什么不将它们组合在 JSON 结构中?
标签: javascript jquery each json