1

ハンドルバー (テンプレート) を使用して、取得した jSon オブジェクトを ajax で整理しようとしています

PHPのオブジェクトは次のようになります。

[0] => Url Object
    (
        [url_id] => 1
        [url] => www.stackoverflow.com
        [tags] => Array
            (
                [0] => Tag Object
                    (
                        [tag_id] => 1
                        [tag_name] => programming
                    )

                [1] => Tag Object
                    (
                        [tag_id] => 2
                        [tag_name] => questions
                    )

            )

    )

[1] => Url Object
    (
        [url_id] => 2
        [url] => www.twitter.com
        [tags] => Array
            (
                [0] => Tag Object
                    (
                        [tag_id] => 3
                        [tag_name] => messaging
                    )

            )

    )

Object[0] と object [1] の両方から url_id と url を取得できます: (JQUERY)

$.getJSON(url,function(data){

                    Bookmarks = $.map(data,function(bookmark){ //segundo param = callback function

                                    return{
                                      url_id: bookmark.url_id,
                                      url: bookmark.url,
                                      tags: bookmark.tags
                                          }
                                                                  });

                var contenedor = $('#scriptmark').html();
                var template = Handlebars.compile(contenedor);
                var i = 0;
                while( i < Bookmarks.length){
                $('#sites').append(template(Bookmarks[i]));
                i++;}
        });

そして最後に、これは私のテンプレートがどのように見えるかです:

<script id="script" type="text/x-handlebars-template">


            <div class="site">
            Site: {{url}} Tags: {{tag}}
            </div>


</script>

これらのタグを取得する方法を見つけようとしています。なぜなら、タンプリングを行うと明らかにオブジェクトが返されるからです

4

1 に答える 1

0

多分このようなものですか?

 Bookmarks = $.map(data,
     function(bookmark){ //segundo param = callback function
         var tagstring="";
         $.each(bookmark.tags, function(index, value){
              if(index > 0){tagstring+=", ";}
              tagstring+=value.tag_id+"-->"+value.tag_name;
         }
         return
         {
                url_id: bookmark.url_id,
                url: bookmark.url,
                tags: tagstring
         }
      }
 );
于 2013-02-15T12:25:30.380 に答える