次のような結果を返すJSONリクエストがあります。
[
{"ID":"57","BookName":"Title1","AuthorID":"2" "AuthorName":"Paul"}
{"ID":"57","BookName":"Title1","AuthorID":"3" "AuthorName":"Mark"},
{"ID":"58","BookName":"Title2","AuthorID":"4" "AuthorName":"Bob"},
{"ID":"58","BookName":"Title2","AuthorID":"5" "AuthorName":"John"},
{"ID":"58","BookName":"Title2","AuthorID":"6" "AuthorName":"Chris"}
]
私が達成したいのは、次のHTML出力です。一意のIDごとdiv
に、一意の作成者を持つ新しいものが作成されます。新しいIDが識別されると、新しいテーブル行が作成され、その中に新しい作成者名が新しいdivとして追加されます。
HTML:
<tr>
<td>ID: 57</td>
<td>BookName: Title1</td>
</tr>
<tr>
<td colspan="2">
<div class="author">
AuthorID : 2 Author Name: Paul
</div>
<div class="author">
AuthorID : 3 Author Name: Mark
</div>
</td>
</tr>
<tr>
<td>ID: 58</td>
<td>BookName: Title2</td>
</tr>
<tr>
<td colspan="2">
<div class="author">
AuthorID : 4 Author Name: Bob
</div>
<div class="author">
AuthorID : 5 Author Name: John
</div>
<div class="author">
AuthorID : 6 Author Name: Chris
</div>
</td>
</tr>
疑似ロジックを含むjQueryコードは次のとおりです。
$.getJSON(fullurl, function(json) {
var bookid = '';
$.each(json, function(i,d) {
if(d.ID!= bookid){
make new book row
bookid= d.ID
}
else
use same row to show author div
}
}//end foreach
誰かが私がこれを行う方法を理解するのを手伝ってもらえますか?