0

レターというフィールドで整理されたリストを取得しようとしています。

したがって、フィールドは次のとおりです。

ID、名前、手紙。

例えば:

id名文字

1 リスト 1 a 2 リスト 2 a 3 リスト 3 b

list1 と list2 は id="a" の後に追加され、list3 は id="b" の後に追加されます

json データのサンプルは次のとおりです。

{"id":[{"id":"1","name":"list1","letter":"a"},{"id":"2","name":"list2","letter":"b"}]}

以下のコードはコンテンツをリストビューに追加しますが、さらに一歩進んで独自の場所に追加する必要があります。

たとえば、文字「a」を含むすべてのリストは、A などの後に追加されます。

コードは次のとおりです。

$.getJSON("list.json", function(data){
    var output = '';

    $.each(data.id, function(index, value){

        output += '<li><h1>' + value.name + '</h1></li>';

    });


    $('#listview').html(output).listview('refresh');

    }).error(function(args) {
console.log(args);

});

<ul id="listview">
<li id="a">A</li>
<!--Listings with letter A go here-->
<li id="b">B</li>
<!--Listings with letter B go here-->
<li id="c">C</li>
<!--Listings with letter C go here-->
</ul>

のリストをその場所に追加するにはどうすればよいですか?

4

2 に答える 2

1
$.each(data.id, function(index, value){ 

    $('<li><h1>' + value.name + '</h1></li>').insertAfter('#' + value.letter);

}); 
于 2012-09-20T10:40:03.723 に答える
0
​var startstring = value.name.substring(0,1);

var outputA,outputB,outputC;
$.each(data.id, function(index, value){
    var startstring = value.name.substring(0,1);
    if(startstring == 'A'){

        outputA += '<li><h1>' + value.name + '</h1></li>';
    }
    if(startstring == 'B')
        outputB += '<li><h1>' + value.name + '</h1></li>';
    if(startstring == 'C')
        outputC += '<li><h1>' + value.name + '</h1></li>';


    });
$('#listview').append(outputA);
$('#listview').append(outputB);
$('#listview').append(outputC);
于 2012-09-20T11:06:55.677 に答える