Я уже давно пытаюсь и ищу, но не могу найти решение.
Значение поля отделяется разделителем. Чтобы это отображалось красиво, я заменяю его запятой. Однако поведение фильтра не такое, как ожидалось, и у меня сложилось впечатление, что параметры столбца 5 также применяются к столбцу 3.
https://jsbin.com/valeces/4/edit?html,output
Если я удалю параметры для столбца 5, результат поиска в столбце 3 будет другим:
```https://jsbin.com/dagulix/2/edit?html,output```
Если для первого фильтра выбрано «XXX», будет найден только один результат, хотя значение существует дважды. Со вторым jsbin результат другой, хотя параметры для столбца 3 те же.
filter_match_mode: Мне не удалось заставить exact работать, поэтому для начала я использовал contains.
Спасибо за совет, так и сделаю в будущем.





Измените функцию DataTables render на VERTRAGSART следующим образом:
{
"data": "VERTRAGSART",
render: function(data, type, row) {
return data.split("|").join(", ");
}
},
...к этому:
{
"data": "VERTRAGSART",
render: function(data, type, row) {
if (type === 'display') {
return data.split("|").join(", ");
} else {
return data;
}
}
},
Почему?
Проблема в том, что вы смешиваете два разных формата:
Раскрывающийся список основан на том, как вы обрабатываете необработанные данные JSON с помощью |.
Поиск выполняется по измененным данным в вашей таблице данных, которая использует , при выполнении фильтра.
Эти два формата не совпадают.
Решение учитывает это, позволяя DataTables хранить различные форматы данных для ваших VERTRAGSART данных:
а) формат типа «отображение», где пользователь видит более дружелюбный , вместо оригинального |.
б) исходный формат (с использованием |), используемый всеми остальными типами, используемыми DataTables, а именно типом «фильтр» и типом «сортировка».
Пользователю отображается формат типа «дисплей».
Но DataTables хранит другой формат для своего типа «фильтра» и типа «сортировки». А затем, когда пользователь выполняет фильтр (или сортировку), DataTables использует другую отформатированную строку — ту, в которой есть |.
И в вашем случае эта строка теперь будет соответствовать исходным данным JSON, которые вы использовали при создании раскрывающихся значений с помощью yadcf.
Если вы явно не обрабатываете эти разные «типы» в функции рендеринга, DataTables использует предоставленные данные для всех типов (display, filter и sort).
Подробнее об этом можно прочитать здесь: Ортогональные данные. Здесь также описаны дополнительные способы обработки этих «ортогональных» типов данных.
Если вы предпочитаете, вы можете сделать это:
{
"data": "VERTRAGSART",
render: function(data, type, row) {
if (type === 'filter') {
return data;
} else {
return data.split("|").join(", ");
}
}
},
Теперь только тип «фильтр» будет использовать строку, отформатированную с помощью |, а другие типы («отображение» и «сортировка») будут использовать строку, отформатированную с помощью , .
Вы также можете повторить это изменение кода для любых других столбцов, также содержащих разделители |.
Запускаемая демонстрация фрагмента стека с использованием исходного кода:
$(document).ready(function() {
var data = {
"actualRows": 46,
"filteredRows": 46,
"myRows": [{
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH",
"VERTRAGSART": "Dienstleistungsvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Vertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "XXX"
}, {
"BETREFF": "thomas mag pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "XXX|Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag,1|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "thomas:: mag: pizza",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-05-25T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "Pizza Party",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2099-12-31T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "Pizza Party",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2099-12-31T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "Pizza Party",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2099-12-31T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "Pizza Party thomas mag pizza thomas mag pizza thom thomas mag pizza thomas mag pizza thom",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-06-08T00:00:00",
"STATUSVERTRAG": null,
"VERTRAGSPARTNER": "Andreas Kreuz GmbH|xxy",
"VERTRAGSART": "Dienstleistungsvertrag|Rahmenvertrag"
}, {
"BETREFF": "test statustest statustest statustest statustest statustest statustest statustest statustest statust",
"VERANTWORTLICHESTELLE": "Unternehmesentwicklung",
"VERTRAGSENDE": "2024-06-06T00:00:00",
"STATUSVERTRAG": "g\u00fcltig",
"VERTRAGSPARTNER": "xxy",
"VERTRAGSART": "Dienstleistungsvertrag"
}],
"sourceID": 381643197,
"success": true,
"totalRows": 46,
"totalSourceRows": 46
}
var oTable = $('#myTable').DataTable({
"data": data.myRows,
"processing": true,
"columns": [{
"data": "BETREFF"
}, {
"data": "VERANTWORTLICHESTELLE"
}, {
"data": "VERTRAGSPARTNER",
"render": function(data, type, row) {
return data.split("|").join(", ");
}
}, {
"data": "VERTRAGSART",
render: function(data, type, row) {
if (type === 'display') {
return data.split("|").join(", ");
} else {
return data;
}
}
}, {
"data": "VERTRAGSENDE",
"render": DataTable.render.datetime('DD.MM.YYYY')
}, {
"data": "STATUSVERTRAG"
}],
});
yadcf.init(oTable, [{
column_number: 3,
filter_type: "select",
text_data_delimiter: "|",
filter_container_id: "s_vertragsart",
filter_reset_button_text: false,
style_class: "form-control",
filter_match_mode: "contains"
}, {
column_number: 5,
filter_type: "text",
filter_container_id: "s_status",
filter_reset_button_text: false,
filter_match_mode: "exact",
style_class: "form-control"
}]);
});<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<meta name = "viewport" content = "width=device-width, initial-scale=1">
<title>DT</title>
<link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<!--<link rel = "stylesheet" href = "https://cdn.datatables.net/2.0.8/css/dataTables.dataTables.min.css">-->
<link rel = "stylesheet" href = "https://cdn.datatables.net/1.13.11/css/dataTables.dataTables.css">
<script type = "text/javascript" src = "https://code.jquery.com/jquery-3.7.1.js"></script>
<script type = "text/javascript" src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>
<!--
<script type = "text/javascript" src = "https://cdn.datatables.net/2.0.8/js/dataTables.min.js"></script>
<script type = "text/javascript" src = "https://raw.githack.com/vedmack/yadcf/master/2.0/jquery.dataTables.yadcf-2.0.js"></script>
-->
<script type = "text/javascript" src = "https://cdn.datatables.net/1.13.11/js/jquery.dataTables.js"></script>
<script type = "text/javascript" src = "https://raw.githack.com/vedmack/yadcf/master/dist/jquery.dataTables.yadcf.js"></script>
</head>
<body>
<div class = "container-fluid mt-3">
<div class = "row mb-2">
<div class = "col-xl-3 col-lg-4 col-md-6 col-sm-6 fw-bold">Vertragsart
<div id = "s_vertragsart"></div>
</div>
<div class = "col-xl-3 col-lg-4 col-md-6 col-sm-6 fw-bold">Status
<div id = "s_status"></div>
</div>
</div>
<table class = "table table-hover align-middle" id = "myTable" width = "100%">
<thead>
<tr>
<th scope = "col">Betreff</th>
<th scope = "col">Verantwortliche Stelle</th>
<th scope = "col">Vertragspartner</th>
<th scope = "col">Vertragsart</th>
<th scope = "col">Gültig bis</th>
<th scope = "col">Status</th>
</tr>
</thead>
</table>
</div>
</body>
</html>Поиск XXX в Vertragsart теперь находит 2 записи.
Здравствуйте, ЭндрюДжеймс, спасибо за ваш ответ и особенно за такое подробное объяснение. Я не знал, что меню выбора yadcf имеет доступ к другим значениям, кроме фильтрации. Это работает сейчас.
Но у меня есть вторая, очень странная проблема. Если я изменю filter_type в столбце 3 с select на multi_select, при фильтрации по XXX снова будет найдена только одна запись. Я так понимаю, результат должен остаться тот же, только меню выбора выглядит по-другому. live.datatables.net/forunija/1/edit Но если я установлю filter_match_mode для столбца 5 на contains, результат для фильтра в столбце 3 совпадет. Я не совсем это понимаю. live.datatables.net/tajebaju/1/edit
@ berndy2001 - Если у вас возникла новая (или отдельная дополнительная) проблема, в идеале вам следует создать для нее новый вопрос. Это поможет всем членам сообщества увидеть этот вопрос, и у вас будет больше шансов получить лучший ответ. (Кроме того, проблему легче описать более четко в полном вопросе, а не в комментарии. Вы также можете предоставить в вопросе работоспособный фрагмент стека.)
@ berndy2001 - С учетом вышесказанного, что произойдет, если вы удалите опцию filter_match_mode из обоих определений столбцов yadcf - столбца 3 и столбца 5?
(Кстати, я тоже не могу объяснить такое поведение — вам следует задать новый вопрос!)
Тем временем я связался с автором, это была ошибка в yadcf. Это было исправлено, и теперь оно работает как положено.
Предложение на следующий раз: вместо того, чтобы предоставлять демо-версию по внешней ссылке (например, jsbin), вы можете использовать фрагмент стека, чтобы гарантировать, что вашу демо-версию можно будет запустить прямо из вашего вопроса.