web-dev-qa-db-ja.com

jqueryテンプレート-else if構成

私はjqueryテンプレートブロック内で「else if」ステートメントを使用しようとしていました。他のサンプルでは、​​そうでない場合は書き込むのではなく、単に置くことができることを確認しました。しかし、これは私にとっては機能しません。 template.can 1つはplsを助けることができますか?

それが機能する実際の方法は

if(Amount == "")
{
-
}
else if(balance == "")
{
*
}
else
{
Amount
}

私はこれを実現するために私が書いたjqueryテンプレート構文を以下に述べました。

<script id="MyTemplate" type="text/x-jquery-tmpl">
    <tr style="background-color:#EFF3FB"><td onclick="test();">${CardNumber}</td><td>${PostDate}</td>
            <td>{{if (Amount == "")}}-
                {{else(balance == "")}}*                      
                {{else}}${Amount}
                {{/if}}
             </td>
             <td>${Description}</td></tr>
    </script>
19
L G

構文は JQuery API に従って正しいです。 '('の括弧を削除してみませんか?

{{if Amount == ""}}
   -
{{else balance == ""}}
   *                      
{{else}}
   ${Amount}
{{/if}}
47
The_Butcher

ループ内でifステートメントを実行するとき、ループのアイテムでifステートメントを実行するときに、同様の問題が発生しました。

同じ理由で問題が発生していると仮定します(あなたの質問にはtdtrが含まれているため、アイテムを繰り返し処理し、その内容を表に表示していると思われます。次に、ここで私の答えです:

<script type="text/x-jquery-tmpl" id="jqTemplate">
 <ul>
      {{each data.messagetext}}
         <li>
             Message # ${$index+1}: &quot;${$value}&quot; |
             Test result: {{if $value}}exists{{else}}does not exist{{/if}}
         </li> 
      {{/each}}
    </ul>
</script>

ドル記号に注意してください{{if $value}}、これは通常のトリックです{{if value}}

繰り返し処理しているアイテムのフィールドを確認する場合は、{{if $value.fieldname}}exists{{else}}does not exist{{/if}}

フィドル http://jsfiddle.net/x2Tac/

jquery-template doc http://www.jquerysdk.com/api/template-tag-if

4
Adrien Be

正解は次のとおりです。

{{else [条件]}}

Jqueryテンプレートjs​​を必ずインポートしてください。

3
Michael