选中其值存储在数组中的复选框

时间:2015-11-30 09:18:30

标签: javascript jquery html

我有这个功能,我目前正在预选所有复选框:

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做到这一点?

3 个答案:

答案 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);