2017-05-02 33 views
0

我正在使用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>"); 
     }); 
          }); 
      }); 
+0

每一次'$ .each()'循環,'索引'值增加我的1取決於你正在循環的數組中的條目;用它。 – Omar

+0

當然,我現在感到愚蠢。 – Brian

回答

1

您可以使用循環中的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

0

夥計們,感謝您的幫助。缺少索引值是一個業餘的錯誤,然而事實證明有一種更簡單的方式來做我想做的事情。我最終將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"); 
       }); 
      });