我想获取所有被选中和启用的复选框的 ID,即那些被禁用和选中的复选框不应该被计算在内。
这是我的代码:-
var widgets_list = [];
$("#dialog-form input:checkbox:checked").map(function(){
widgets_list.push($(this).attr('id'));
});
当前代码添加了我不想要的被禁用和选中的复选框。如何添加仅考虑已启用复选框的功能。
我想获取所有被选中和启用的复选框的 ID,即那些被禁用和选中的复选框不应该被计算在内。
这是我的代码:-
var widgets_list = [];
$("#dialog-form input:checkbox:checked").map(function(){
widgets_list.push($(this).attr('id'));
});
当前代码添加了我不想要的被禁用和选中的复选框。如何添加仅考虑已启用复选框的功能。
尝试:
var widgets_list = $("#dialog-form input:checkbox:checked").map(function(){
if(!this.disabled)
return this.id;
}).get();
或者
var widgets_list = $("input:checkbox:checked:not(:disabled)").map(function(){
return this.id;
}).get();
在这种情况下,map 用于将一个集合转换为另一个集合,将复选框转换为 id 数组,因此您可以避免通常使用循环 (.each) 进行的推送
这很简单。只需添加enabled
.Something like this。
var widgets_list = [];
$("#dialog-form input:checkbox:checked:enabled").map(function(){
widgets_list.push($(this).attr('id'));
});