我已经使用了THIS STACKOVERFLOW POST中发布的代码来构建webbapp的原型,但我无法让第二页以我想要的格式显示数据。
代码向我显示了第二页,其中所有数据均采用网格格式,但我想知道如何使用不同格式(粗体、斜体、颜色)制作特定数据。
例如,我使用的一个字符串是“image.jpg”文本来加载用户的图像。
我已将代码的第一部分修改为:
$.each(info, function (i, valor) {
li += '<li><a href="#" id="' + i + '" class="info-go" data-transition="slide"><img src="img/'+ valor.foto +'"><h2><i>' + valor.cientifico + '</i></h2><p><b>Familia:</b> <i>'+ valor.familia +'</i> | <b>Subfamilia:</b> <i>'+ valor.subfamilia +'</i></p></a></li>';
});
添加特定值并应用不同的格式(familia、subfamilia)并插入具有“foto”值的图片。
然后代码继续:
$("#lista").append(li).promise().done(function () {
$(this).on("click", ".info-go", function (e) {
e.preventDefault();
$("#resultado").data("info", info[this.id]);
$.mobile.changePage("#resultado");
});
$(this).listview("refresh");
});
});
$(document).on("pagebeforeshow", "#resultado", function () {
var info = $(this).data("info");
var info_view = "";
for (var key in info) {
info_view += '<div class="ui-grid-a"><div class="ui-block-a"><div class="ui-bar field" style="font-weight : bold; text-align: left;">' + key + '</div></div><div class="ui-block-b"><div class="ui-bar value" style="width : 75%">' + info[key] + '</div></div></div>';
}
$(this).find("[data-role=content]").html(info_view);
});
我知道 for (var key in info) 不是我正在寻找的东西,但我不知道我必须使用什么代码,因为我太新了,无法理解如何做到这一点。我怎样才能做到这一点? info_view 旁边的代码是 HTML,对吧,但是如果我将 + key + 替换为 + familia +,例如,这不会像以前那样工作。
我的问题是如何检索第一页中列出的所选项目的特定数据(例如 foto 值)?我希望能够选择使用哪些项目。例如,我想让 id 值对用户不可见,使 id 值不可见,name 值以粗体显示,等等
希望我说得足够清楚,抱歉我有限的英语和编码知识
终于解决了我自己的问题。 作为参考,我所做的被删除了
for (var key in info) {
在 info_view += 部分中,我对我想要操作的每个项目使用了 info['value'] 。
希望这对其他人有帮助。