如何获取JSON数据的唯一句柄
问题描述:
我正在使用JSON从数据库获取数据,但我希望某些数据具有唯一的标识符或句柄。例如,我有一行示例消息,我想为每条消息附加一个“回复”按钮。但是,当然,如果我只包含在循环中,每条消息都包含相同的按钮,并具有相同的功能。为了演示,我用数字“1”替换了按钮,数据库中有三条消息,理想情况下我希望每个消息都出现不同的数字:1,2,3等。如何获取JSON数据的唯一句柄
代码:
// jSON call for messages page
$(document).ready(function()
{
$.getJSON("http://localhost:8888/php_this/json-data-messages.php", function(data)
{
$.each(data.messages, function(index, message)
{
$("#msgContent").append("<p><b> From: </b>" + message.fromLecturerNumber + "</p>");
$("#msgContent").append("<p><b> Date: </b>" + message.messageDate + "</p>");
$("#msgContent").append("<p><b>Subject: </b>" + message.messageTitle + "</p>");
$("#msgContent").append("<p>" + message.messageBody + "</p>");
$("#msgContent").append("<p>1</p>");
});
});
});
答
您可以使用循环中的index变量为每个按钮创建一个唯一编号。该指数将从0开始,但您可以加1以获得1,2,3等。
$(document).ready(function() {
$.getJSON("http://localhost:8888/php_this/json-data-messages.php", function(data) {
$.each(data.messages, function(index, message) {
[...your other code here...]
$("#msgContent").append("<p>" + (index + 1) + "</p>");
});
});
});
+0
谢谢你,我意识到@Omar的答案,我觉得没有看到它是愚蠢的。 – Brian
答
伙计们,感谢您的帮助。缺少索引值是一个业余的错误,然而事实证明有一种更简单的方式来做我想做的事情。我最终将jSON数据的各个位转换为唯一的id并使用它们建立到其他页面/函数的链接。检查出来:
$(document).ready(function()
{
$.getJSON("http://localhost:8888/php_this/json-data-students.php", function(data)
{
$.each(data.students, function(index, student)
{
$("#studentsData").append("<li><a href='#" + student.firstName + "'>" + student.lastName + ", " + student.firstName + "</a></li>");
$("#theBody").append("<div data-role='page' id=" + student.firstName + ">\n\
<div data-role='header' data-add-back-btn='true'><h1>Course Details</h1></div>\n\
<div role='main' class='ui-content' id='content'><ul data-role='listview' id='list2'>\n\
<li>Student ID: " + student.studentID + "</li>\n\
<li>Module No1: " + student.moduleNo1 + "</li>\n\
<li>Module No2: " + student.moduleNo2 + "</li>\n\
<li>Course ID: "+ student.courseID + "</li>\n\
</ul></div><div data-role='footer' data-position='fixed'>\n\
<a href='www.dit.ie' target='_blank'>DIT</h4></div></div>");
});
$("#studentsData").listview("refresh");
});
});
每一次'$ .each()'循环,'索引'值增加我的1取决于你正在循环的数组中的条目;用它。 – Omar
当然,我现在感到愚蠢。 – Brian