0

Html リストがあり、REST 呼び出しからデータを JSON ディクショナリとして受け取り、トラバースしてそれらの値を取得します。しかし、ループ内の項目を使用して以下の Html を生成する方法が見つかりませんでした。

<div class="container">
<ul role="list">
    <li class="infoBasic" role="listitem">
        <div class="date">20-12-2012</div>
        <div class="ammount">-&euro;4,25</div>
    </li>
    <li class="infoDetails" role="listitem">
        <div class="place">data</div>
        <div class="category">data</div>
        <div class="description_title">data</div>
        <div class="description">data</div>
    </li>

   //repeat this for multi items received from REST

</ul>

$.ajax
  ({

   success: function (data){                    
        var transactions=data['transactions'];      

        $.each( transactions, function( key, value ) {
             $.each( value, function( key, value) {

                //here how to set/create the appropriate div elements(like above) 
                // with the values I get here in a loop? 

             });                        
      }); 

以下のいくつかのソリューションを編集しても問題ありませんが、オブジェクト配列からすべての値を取得したくありません。これらの項目 (日付、金額、場所など) のみを html div に取得し、辞書内の他の項目を無視するにはどうすればよいですか?

4

3 に答える 3

1

使用できます。

     var data = "";

   $.each( transactions, function( key1, value1 ) {
         data +="<li class ='"+ key1 +"' role='listitem'>";

             $.each( value1, function( key, value) {
                 data +="<div class ='"+ key +"'>"+value+"</div>"; 
             });
     });  


   $("ul").html(data); // selecting ul element and then embedding html into it..
于 2013-01-09T17:29:49.840 に答える
1
$.each( value, function( key, value) {

            //here how to set/create the appropriate div elements(like above) 
            // with the values I get here in a loop? 

            $(".infoDetails").append("<div class='" + key + "'>" + value + "</div>");
         }); 
于 2013-01-09T17:23:38.847 に答える
-1

これを試してみてください...htmlと言う変数を取ります...json配列を反復処理します...リストに項目を追加します...そしてhtml全体をdiv内に配置します..

var html='<ul>';
$.ajax
  ({

   success: function (data){                    
        var transactions=data['transactions'];      

        $.each( transactions, function( key, value ) {
             $.each( value, function( key, value) { 
                html+='<li class="'+key+'">'+value+'</li>';
             });                        
      });
       } 
 }); 
html+='</ul>';
$('#idofdiv').html(html);
于 2013-01-09T17:25:25.070 に答える