Я начал следить за этим постом: Как использовать мод загрузки для редактирования данных таблицы в MVC? , и это дает мне большую часть решения.
Чтобы выполнить Edit/Show
, используя тот же модальный Bootstrap, вы будете обрабатывать некоторые JS
myHTMLPage (часть таблицы)
<table id="dtBasicExample"
class="table table-striped table-bordered table-sm"
cellspacing="0" width="100%">
<thead>
<tr>
<th style="display: none" class="th-sm">ID</th>
<th class="th-sm">Nom</th>
<th class="th-sm">ID Jira</th>
<th class="th-sm">Type</th>
<th style="display: none" class="th-sm">valueD</th>
<th class="th-sm">Action</th>
</tr>
</thead>
<tbody>
<tr th:each="field : ${list}">
<td style="display: none" class="id" th:text="${field.id}" />
<td class="nom" th:text="${field.nom}" />
<td class="jira" th:text="${field.idJira}" />
<td class="type" th:text="${field.type}" />
<td style="display: none" class="valueDefaut"
th:text="${field.value}" />
<td><a class=" btn btn-outline-danger mr-3 edit">EDIT</a>
<a class="btn btn-outline-danger mr-3 show">SHOW</a>
<a class="btn btn-outline-danger mr-3 deleteEnr">DELETE</a></td>
</tr>
</tbody>
</table>
Это единственное, что вам нужно использовать в HTML
ВАЖНО имя класса (edit, show, deleteEnr) очень важно, оно поможет вам выполнить JS
код не пропускайте их.
myHTMLPage (Партия JS)
В этой части я покажу вам код шоу, но для других он почти такой же
$('a.show').on('click', function() {
var btn = document.getElementById('validate');
var ann = document.getElementById('annuler');
btn.style.visibility = 'hidden';
ann.style.visibility = 'hidden';
var myModal = $('#exampleModal');
/// THIS IS HOW YOU GET YOUR VALUE
var id = $(this).closest('tr').find('td.id').html();
var nom = $(this).closest('tr').find('td.nom').html();
var jira = $(this).closest('tr').find('td.jira').html();
var type = $(this).closest('tr').find('td.type').html();
var valueD = $(this).closest('tr').find('td.valueDefaut').html();
/// THIS IS HOW YOU GET YOUR VALUE
/// THIS IS HOW YOU REPLACE YOUR VALUE IN YOU R MODAL
$('.id', myModal).val(id);
$('.nomField', myModal).val(nom);
$('.nomField', myModal).prop("readonly", true);
$('.jiraField', myModal).val(jira);
$('.jiraField', myModal).prop("readonly", true);
$('.typeField', myModal).val(type);
$('.typeField', myModal).prop("disabled", true);
if (type == "Select Simple") {
var element = document.getElementById('defaultValue');
element.style.visibility = 'visible';
var fieldsD = valueD.split(',');
$('#tagsinput').tagsinput('removeAll');
for (i = 0; i < fieldsD.length; i++) {
$('#tagsinput').tagsinput('add', fieldsD[i]);
}
$('.tagsinput', myModal).prop("disabled", true);
} else if (type == "Select Multiple") {
var element = document.getElementById('defaultValue');
element.style.visibility = 'visible';
var fieldsD = valueD.split(',');
$('#tagsinput').tagsinput('removeAll');
for (i = 0; i < fieldsD.length; i++) {
$('#tagsinput').tagsinput('add', fieldsD[i]);
}
$('.tagsinput', myModal).prop("disabled", true);
} else {
var element = document.getElementById('defaultValue');
element.style.visibility = 'hidden';
}
myModal.modal({
show : true
});
});
Надеждаэто поможет