Я хочу получить идентификаторы всех флажков, которые были проверены и включены, т.е. Те флажки, которые отключены и отмечены, не должны учитываться.
Вот мой код: -
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 используется для преобразования одной коллекции в другую коллекцию в этом случае с помощью флажков в массив идентификаторов, поэтому вы можете избежать нажатия, которое вы обычно делаете с помощью цикла (.each)
Это довольно просто. Просто добавьте enabled
Что-то вроде этого.
var widgets_list = [];
$("#dialog-form input:checkbox:checked:enabled").map(function(){
widgets_list.push($(this).attr('id'));
});
var widgets_list = $.map($("#dialog-form input:checkbox:checked:not(:disabled), function(el) {return el.id})