Javascript 选中值存储在数组中的复选框
我有这个功能,我目前正在预先选择所有复选框:Javascript 选中值存储在数组中的复选框,javascript,jquery,html,Javascript,Jquery,Html,我有这个功能,我目前正在预先选择所有复选框: function setupModuleSelection(selectedModules, preSelected) { // TODO: preSelected not used $('#my-table > tbody > tr > td.module_id > input[type="checkbox"]') .prop('checked', true); } 其中预选=['modul
function setupModuleSelection(selectedModules, preSelected) {
// TODO: preSelected not used
$('#my-table > tbody > tr > td.module_id > input[type="checkbox"]')
.prop('checked', true);
}
其中预选=['module-001','module-003','module-027']
(例如):
表格如下:
<tr>
...
<td class="module_id"><input type="checkbox" name="module_id" value="module-027"></td>
</tr>
...
现在,我想通过过滤模块id
来激活复选框,这是由预选
数组提供的。如何使用jQuery实现这一点?如下所示
var preSelected = ['module-001', 'module-003', 'module-027'];
var selector = ':checkbox[value="' + preSelected.join('"], :checkbox[value="') + '"]';
$(selector).prop('checked', true);
选择器的值将为
:checkbox[value="module-001"], :checkbox[value="module-003"], :checkbox[value="module-027"]
将此字符串传递给jQuery对象将选中所有必需的复选框
现场演示:
var元音=['a','e','i','o','u'];
变量选择器=':复选框[value=“”+元音.连接(“”],:复选框[value=“”)+“];
控制台日志(选择器);
$(选择器).prop('checked',true)代码>
A.
B
C
D
E
F
I
使用如下
var preSelected = ['module-001', 'module-003', 'module-027'];
var selector = ':checkbox[value="' + preSelected.join('"], :checkbox[value="') + '"]';
$(selector).prop('checked', true);
选择器的值将为
:checkbox[value="module-001"], :checkbox[value="module-003"], :checkbox[value="module-027"]
将此字符串传递给jQuery对象将选中所有必需的复选框
现场演示:
var元音=['a','e','i','o','u'];
变量选择器=':复选框[value=“”+元音.连接(“”],:复选框[value=“”)+“];
控制台日志(选择器);
$(选择器).prop('checked',true)代码>
A.
B
C
D
E
F
我
您可以使用类似的方法,根据值选择输入
您可以使用类似的方法,根据值选择输入。您可以加入数组值以生成属性等于选择器:
$('#my-table > tbody > tr > td.module_id > input[type="checkbox"][value="' + preSelected .join('"],[value="') + '"]').prop('checked', true);
可以联接数组值以生成属性相等选择器:
$('#my-table > tbody > tr > td.module_id > input[type="checkbox"][value="' + preSelected .join('"],[value="') + '"]').prop('checked', true);
@Ramanlfc那不是真的。在你的jquery选择中,td.module\u id
是什么?@Azzi:对不起,Azzi,我的复制粘贴滑倒了。补充@Ramanlfc那不是真的。在你的jquery选择中,td.module\u id
是什么?@Azzi:对不起,Azzi,我的复制粘贴滑倒了。补充!好的,我只知道你可以这样调用checkbox值。好的,我只知道你可以这样调用checkbox值。嗯,模块id不在名称中,而是在我的例子中的值(django生成:来自django_表2的CheckBoxColumn)好的,我明白了,但是,这可能只是我没有深入到jQuery中:是这样的(潜在的)巨大的选择器性能?在void的回答中,对每个进行forEach
不是更快(更清晰)吗?嗯,模块id不在名称中,而是在我的案例中的值中(django生成:来自django_表2的CheckBoxColumn)好的,我明白了,但是,这可能只是我没有深入到jQuery中:这样一个(潜在的)巨大的选择器性能吗?在void的回答中,为每个人做一个forEach
不是更快(更清晰)吗?