Вы хотите:
- Отфильтровать непроверенные флажки (
:not(:checked)
или .filter
, ...) - Использовать
map
в результате чтобы получить набор jQuery, содержащий значения result-id
(возвращая this.getAttribute("result-id")
или $(this).attr("result-id")
) - Используйте
get
для получения фактического массива
Например:
var array = $(tableBody).find("tr input:checkbox:not(:checked)")
.map(function() {
return this.getAttribute("result-id");
})
.get();
Использует псевдокласс jQuery -specifi c :checked
, чтобы смотреть только на отмеченные флажки, и напрямую использует DOM для получения значения атрибута.
Вы также можете сделать это без использования jQuery -specifi c селектора:
var array = $(tableBody).find("tr input[type=checkbox")
.filter(function() { return this.checked; })
.map(function() {
return this.getAttribute("result-id");
})
.get();
Или вообще без использования jQuery (здесь я предполагаю, что tableBody
- DOM элемент, не набор jQuery, а современный браузер):
const array = Array.from(tableBody.querySelectorAll("tr input[type=checkbox"))
.filter(({checked}) => checked)
.map(cb => cb.getAttribute("result-id"));