Jquery- выбрать все значения из таблицы при активных чекбоксах
Всем здравствуйте. Никак не получается получить из таблица данные при активных чекбоксах. Данные надо получить из первого столбца. Вот отрывок из кода:
<tr class="k-master-row">
<td data-bind="visible: $parent._isHierarchy" class="k-hierarchy-cell" style="display: none;"><a href="#" class="k-icon k-i-expand"></a></td>
<td style="text-align:center; vertical-align:middle; padding:0px !important;" data-bind="visible: $parent._selection && $parent.viewSettingsMode !== true,css:{ 'k-hierarchy-cell':!$parent._selection || $parent.viewSettingsMode === true } ">
<input type="checkbox" data-bind=" checkedValue: $data, dataGridChecked: $parent._uiValue, enable: $parent._selectionEnabled && !$parent._readOnly()" value="[object Object]"></td>
<!-- ko foreach: $parent._dc -->
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">4487</td>
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">36</td>
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">04.12.2023 6:57:32</td>
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">04.12.2023 8:18:35</td>
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">69,479</td>
<td data-bind="text: $parents[1].getFormatedText($parent,$data,$element)">69,587</td>
<!-- /ko -->
</tr>
С помощью запроса Jquery пытаюсь получить все значения при активных чекбоксах:
selectedValues = $('input[type="checkbox"]:checked').map( function () {
return $(this).val();
})
.get()
.join(', ');
Соответственно получаю значения чекбокса [object Object]. Как мне получить значение 4487? Описание таблицы находится в другом месте. Вот пример первого столбца:
<th scope="col" role="columnheader" data-field="vedomost" aria-haspopup="true" rowspan="1" data-title="№ Ведомости"
data-index="1" id="48ec558d-e96f-4eb8-9aad-2aaab9edbe0c"
class="k-header k-with-icon k-filterable" data-role="columnsorter"><a
class="k-grid-filter" href="#" title="Filter" aria-label="Filter" tabindex="-1"><span
class="k-icon k-i-filter"></span></a><a class="k-link" href="#">№ Ведомости</a></th>
То есть вместо:
return $(this).val();
Надо что-то типа:
return $('tr.k-master-row>td:eq(1)').text()
Ответы (1 шт):
Автор решения: Faraday
→ Ссылка
Алгоритм:
- Ищем чекбоксы
- Находим родительский компонент
- Берём содержимое из ячейки
Код:
selectedValues = $('input[type="checkbox"]:checked').map(function() {
var $parentRow = $(this).closest('tr.k-master-row');
var value = $parentRow.find('td:eq(1)').text();
return value;
}).get().join(', ');