【问题标题】:How to check if a value is in an array, inside an if condition, in jquery templates?如何在 jquery 模板中检查值是否在数组中、if 条件内?
【发布时间】:2013-03-13 10:46:35
【问题描述】:

我有一个 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 包含一个数组,其中包含已从数据库加载的值

【问题讨论】:

  • settings.LoginProviders - 它是一个 javascript 数组吗?

标签: javascript jquery web jquery-templates


【解决方案1】:

我发现了错误。

首先,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}}

【讨论】:

    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2019-12-27
    • 2014-02-03
    • 2011-05-09
    相关资源
    最近更新 更多