要选中复选框,您需要做的就是添加这里描述的选中属性。
以下是一种解决方案。首先,您希望存储 Id 而不是每次都查找它,因为它更快。其次,我使用 $.inArray 函数来确定类别是否在包含应检查的数字的数组中。最后,我使用了一个三元来添加选中的属性。
var numberArray = [2, 54, 8, 10];
entries.each(function() {
if($(this).find('parentcategoryid').text() == 0) {
var categoryId = $(this).find('categoryid').text();
var categoryInArray = $.inArray(categoryId, numberArray) !== -1;
xmlArr += '<span><input type="checkbox" data-mini="true" name="category'+categoryId+'" id="checkbox'+categoryId+'" class="techAreasCheckBox" style="margin-top: 5px;"' + categoryInArray ? ' checked="checked" ' : '""/><label class="techAreasLabel">'+$(this).find('categoryname').text()+'</label></span><br/>';
}
}); // Entries.Each function
或者,您可以只使用另一个 if 语句。
entries.each(function() {
if($(this).find('parentcategoryid').text() == 0) {
var categoryId = $(this).find('categoryid').text();
var categoryInArray = $.inArray(categoryId, numberArray) !== -1;
if(categoryInArray) {
xmlArr += '<span><input type="checkbox" data-mini="true" name="category'+categoryId+'" id="checkbox'+categoryId+'" class="techAreasCheckBox" style="margin-top: 5px;" checked="checked"/><label class="techAreasLabel">'+$(this).find('categoryname').text()+'</label></span><br/>';
} else {
xmlArr += '<span><input type="checkbox" data-mini="true" name="category'+categoryId+'" id="checkbox'+categoryId+'" class="techAreasCheckBox" style="margin-top: 5px;"/><label class="techAreasLabel">'+$(this).find('categoryname').text()+'</label></span><br/>';
}
}
}); // Entries.Each function