如何在jquery模板中检查值是否在数组内,在if条件内?

时间:2013-03-13 10:46:36

标签: javascript jquery web jquery-templates

我有一个jQuery模板,我需要检查列表中的复选框,其值在数组中。我正在尝试以下代码,但它不起作用:

{{each loginProvidersList}}
  {{if inArray($value.Id, settings.LoginProviders) }}
    <input id="${$value.Id}" type="checkbox" name="LoginProviders[]" value="${$value.Id}" checked="checked" /> ${$value.Name}<br />                     
  {{else}}
    <input id="${$value.Id}" type="checkbox" name="LoginProviders[]" value="${$value.Id}" /> ${$value.Name}<br />                     
  {{/if}}
{{/each}}  

settings.LoginProviders包含一个数组,其中包含从数据库加载的值

1 个答案:

答案 0 :(得分:0)

我发现了错误。

首先,inArray不返回布尔值,而是返回项目所在的索引(如果未找到则为-1)。另外,我忘记了函数开头的$。正确的代码是:

{{each loginProvidersList}}
  {{if $.inArray($value.Id, settings.LoginProviders) != -1 }}
    <input id="${$value.Id}" type="checkbox" name="LoginProviders[]" value="${$value.Id}" checked="checked" /> ${$value.Name}<br />                     
  {{else}}
    <input id="${$value.Id}" type="checkbox" name="LoginProviders[]" value="${$value.Id}" /> ${$value.Name}<br />                     
  {{/if}}
{{/each}}