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