2

id="firstTr-1" で最初の tr のみを表示したいのですが、同じオブジェクトからデータを取得する必要があり、他の tr には最初のもの以外のデータが必要です。registryhelper を追加する必要があります。ドキュメントをチェックアウトしましたが、理解できませんでした。

テンプレート:

        <script id="firsttemp" type="text/x-handlebars-template">
        <tr id="firstTr-1">

        <td class="tableFirstCol"><input type="checkbox" class="check" id="childcheck" /></td>
        <td class="tableFirstCol"><input type="checkbox" class="star" id="childstar" /></td>
        <td class="tableFirstCol"><input type="checkbox" class="alarm" id="childalarm" /></td>
        <td class="tableFirstCol">Hero Honda<span>Hero Honda</span></td>

        </tr>
        {{#each objects}}
        <tr>

        <td class="tableFirstCol"><input type="checkbox" class="check" id="childcheck" /></td>
        <td class="tableFirstCol"><input type="checkbox" class="star" id="childstar" /></td>
        <td class="tableFirstCol"><input type="checkbox" class="alarm" id="childalarm" /></td>
        <td class="tableFirstCol">{{name}}<span>{{name}}</span></td>

        </tr>{{/each}}
</script>

ジョンソン:

var company= [

        {
        "name": "Hero Honda",
        "lastprice": 310.2,
        "dayschange": 20.1,
        "dayshigh": 220.9,
        "volume": 140.3,
        "52weekhigh": 200.3,
        "name2": "herohonda",
        "dataset": [1200,3000,3200],
        "lastprice2": "1:10pm",
        "dayschange2": "8%",
        "dayshigh2": "1.5%",
        "volume2": "1:10 Pm",
        "52weekhigh2": "1:10 Pm"
        },
        {
        "name": "Hero Honda",
        "lastprice": 310.2,
        "dayschange": 20.1,
        "dayshigh": 220.9,
        "volume": 140.3,
        "52weekhigh": 200.3,
        "name2": "herohonda",
        "dataset": [3200,3500,5000],
        "lastprice2": "1:10pm",
        "dayschange2": "8%",
        "dayshigh2": "1.5%",
        "volume2": "1:10 Pm",
        "52weekhigh2": "1:10 Pm"
        }]
4

1 に答える 1

2

あなたは物事を複雑にしすぎていると思います。Handlebars は、Handlebars がデータを見る前にロジックをデータに適用することを好みます。したがって、おそらく 1 か所でしか使用されないカスタム ヘルパーをいじるのではなく、データを変更し、最初のヘルパーをブール値フラグでマークして{{#if _first}}、テンプレートで簡単なチェックを実行できるようにします。

テンプレートは次のようになります。

<script id="firsttemp" type="text/x-handlebars-template">
    {{#each objects}}
        <tr{{#if _first}} id="firstTr-1"{{/if}}>
            <!--...-->
        </tr>
    {{/each}}
</script>

_first次のようにフラグを設定できます。

company[0]._first = true;

デモ: http://jsfiddle.net/ambiguous/3Cq9K/


idチェックボックスの属性を複製していますが、id属性は一意でなければなりません:

ドキュメント内に同じ値を持つ複数の要素があってはなりません。id

id今後さまざまな奇妙で紛らわしい問題を回避したい場合は、各チェックボックスに一意の が必要です。

于 2013-02-19T05:38:28.113 に答える