1

Handlebars テンプレートを使用した HTML/テーブル データがいくつかあります。

<div class="users">
    <script id="userlist" type="text/x-handlebars-template"> 
        <table class="table table-striped table-hover table-condensed">
            <thead>
                <th>Username</th> 
                <th>Real Name</th> 
                <th>Email</th> 
            </thead>
            <tbody>
                {{#each this}}     
                <tr>
                    <td>{{name}}</td>
                    <td>{{email}} {{lastName}}</td> 
                    <td>{{time}}</td> 
                </tr> 
                {{/each}} 
            </tbody> 
        </table> 
    </script> 
</div>

JSON から取得した値に基づいて行を強調表示するために、テーブル行を条件付きで識別する最もエレガントで最適化された方法を見つけたいと考えています。

このコード ブロックは、PHP クラスから JSON を取得します。

$("#register").submit(function(event) {

    /* stop form from submitting normally */
    event.preventDefault();

    /* get some values from elements on the page: */
    var $form = $( this ),
        name = $form.find( 'input[name="name"]' ).val(),
        email = $form.find( 'input[name="email"]' ).val(), 
        func  

    /* Send the data using post */
    var posting = $.post( 'controller.php', { name: name, email: email, func: 'register'  } );

    /* Put the results into a template */
    posting.done(function(data) {
        var data = $.parseJSON(data);
        var userlist = Handlebars.compile( $("#userlist").html() );
        $(".users").html(userlist(data));
    }); /*end function */

});

データのリストを問題なく表示できます。それはうまくいきます。registerHelper または registerPartial を実行する必要があると感じていますが、よくわかりません。

4

1 に答える 1

0

たとえば、アクティブな行を示すオブジェクトに設定されたブール値のプロパティがある場合はactive、テンプレートで次のようにします。

{{#each this}}
<tr{{#if active}} class="active"{{/if}}>
    <td>{{name}}</td>
    <td>{{email}} {{lastName}}</td> 
    <td>{{time}}</td> 
</tr> 
{{/each}}
于 2013-02-09T06:27:18.243 に答える