0

有一个javascript函数如下:

function test(item) {
       var DataToBeShownOnScreen = jQuery.data(document.body, "DataTobeShown");
       var found = $.inArray(item, DataToBeShownOnScreen) > -1;
       return found;
}

我需要在我的 jquery 模板中调用这个函数,如下所示:

<script id="GridTemplate" type="text/html">
     <tbody>            
         {{each Data}} 
             <tr>
               {{each $value}} 
               {{if ${test($index)} }}                   
                   <td>${$value}</td>
               {{/if}}
               {{/each}}
             </tr>
          {{/each}} 
     </tbody>
</script>

但我收到错误:

预期的标识符、字符串或数字

我需要帮助了解我在{{if}}模板中调用函数测试时犯了什么错误。

4

1 回答 1

0

我能够通过使用解决这个问题{{if test($index)}} instead of {{if ${test($index)}}}.

我猜的问题是${test($index)}会输出一个字符串而不是给出truefalse作为bool。删除${}函数意味着我实际上得到了布尔值。

于 2012-10-19T05:41:53.267 回答