如何在HTML中检查表达式的结果是否为NULL,如果是,则不显示任何内容?

时间:2013-08-26 17:45:20

标签: html kendo-ui

<script id="namesAutoCompleteTemplate" type="text/x-kendo-tmpl">    
            <div class="k-widget k-grid" id="Grid">
            <div class="k-grid-content">
            <h3>${data.NameFirstInitLast}</h3>
            <p>Person ID: ${data.PersonId}</p>
            <p>Member Number: ${data.MemberNumber}</p>
            <p>Member Status: ${data.MemberStatus}</p>
            <p>Category: ${data.PrimaryCategoryCode}</p>
</script>

如果上面任何表达式的结果(例如$ {data.PersonId} = NULL,则显示''或什么都没有。)

我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

我从你的<script/>标签中收集到你正在使用的Kendo UI模板?因此,#字符用作Kendo模板中的转义序列,因此您可以插入要由Kendo的模板引擎评估的JavaScript代码。以下是您可能希望实现的一个示例:

<script id="namesAutoCompleteTemplate" type="text/x-kendo-tmpl">    
  <div class="k-widget k-grid" id="Grid">
    <div class="k-grid-content">
      # if (data) { #
      <h3>${data.NameFirstInitLast}</h3>
      <p>Person ID: ${data.PersonId}</p>
      <p>Member Number: ${data.MemberNumber}</p>
      <p>Member Status: ${data.MemberStatus}</p>
      <p>Category: ${data.PrimaryCategoryCode}</p>
      # } #
    </div>
  </div>
</script>

另一方面,我不喜欢${}语法,而且Kendo与他们自己的文档中使用的三种类型的转义字符序列中的哪一种不一致。我建议坚持使用#=data.property#和/或#:data.property#作为一致性问题。但那只是我的个人意见。 :)