我有这个功能,我目前正在预选所有复选框:
function setupModuleSelection(selectedModules, preSelected) {
// TODO: preSelected not used
$('#my-table > tbody > tr > td.module_id > input[type="checkbox"]')
.prop('checked', true);
}
preSelected = ['module-001', 'module-003', 'module-027']
(例如):
表格是:
<tr>
...
<td class="module_id"><input type="checkbox" name="module_id" value="module-027"></td>
</tr>
现在,我想按照module_id
数组提供的preSelected
过滤来激活复选框。我怎么能用jQuery做到这一点?
答案 0 :(得分:3)
使用https://stackoverflow.com/a/22561903/280244如下
listaVirus
listaVirus = (GridView) listaVirus.findViewById(R.id.gridViewMain);
的值为
var preSelected = ['module-001', 'module-003', 'module-027'];
var selector = ':checkbox[value="' + preSelected.join('"], :checkbox[value="') + '"]';
$(selector).prop('checked', true);
将此字符串传递给jQuery对象将选择所有必需的复选框。
现场演示:
selector
:checkbox[value="module-001"], :checkbox[value="module-003"], :checkbox[value="module-027"]
答案 1 :(得分:2)
var vowels = ['a', 'e', 'i', 'o', 'u'];
var selector = ':checkbox[value="' + vowels.join('"], :checkbox[value="') + '"]';
console.log(selector);
$(selector).prop('checked', true);
您可以使用类似的内容,根据值选择<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" name="aa" value="a" /> A
<input type="checkbox" name="bb" value="b" /> B
<input type="checkbox" name="Cc" value="c" /> C
<input type="checkbox" name="dd" value="d" /> D
<input type="checkbox" name="ee" value="e" /> E
<input type="checkbox" name="ff" value="f" /> F
<input type="checkbox" name="ii" value="i" /> I
。
答案 2 :(得分:1)
您可以连接数组值以生成属性等于选择器:
$('#my-table > tbody > tr > td.module_id > input[type="checkbox"][value="' + preSelected .join('"],[value="') + '"]').prop('checked', true);