2011-02-14 40 views
18

我试图在jquery模板块中使用“else if”语句。我在其他示例中看到,如果不是写入其他示例,我们可以放入else。但这不起作用对我来说,它的抛出语法错误的模板。任何一个帮助请问?jquery模板 - 其他如果构造

它应该工作的acutual方式就像

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> 
+0

它不应该是 “回报额”? – corroded 2011-02-14 07:02:00

+0

您是否设法找到问题?如果是这样,请与社区分享您的解决方案。 – 2011-05-04 08:17:03

回答

45

语法正确,按照JQuery API。也许尝试删除'('括号?

{{if Amount == ""}} 
    - 
{{else balance == ""}} 
    *      
{{else}} 
    ${Amount} 
{{/if}} 
+0

感谢Buthcer为reply..but它不工作:( – 2011-02-14 07:20:20

3

正确的答案是:

{{别的[状态]}}

确保你导入jQuery的模板JS。

3

当在循环的某个项目上执行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的模板文档http://www.jquerysdk.com/api/template-tag-if