我有一个MVC视图,它有一个表,在他的一个单元格中,它包含一个锚标记,该标记打开一个Bootstrap模式,如下所示:
<td><a href="#" class="button-action btnUpdateModal" name="btnUpdateModal">Edit</a></td>
使用这个JS:
var updateModal = $("#updateHolidayModal");
$(".btnUpdateModal").click(function () {
let hId = $(this).closest('tr').attr('id').split('-')[1];
let hName = "";
let hDate = "";
let hWai;
let hEH;
let hG;
var $row = jQuery(this).closest('tr');
var $columns = $row.find('td');
jQuery.each($columns, function (i, item) {
if (i == 0) {
hName = item.innerHTML;
} else if (i == 1) {
hDate = item.innerHTML;
} else if (i == 2) {
hWai = $(this).attr("class") == "true" ? true : false;
} else if (i == 3) {
hEH = item.innerHTML == "@Resource.Yes" ? true : false;
} else if (i == 4) {
hG = item.innerHTML == "@Resource.Yes" ? true : false;
}
});
$("#hNameUpdate").val(hName);
$("#hDateUpdate").val(hDate);
$("#hEHUpdate").prop('checked', hEH);
$("#hWaiUpdate").prop('checked', hWai);
$(".hdnHId").val(hId);
updateModal.modal('show');
});
当控制器呈现这个视图时,模态工作得很顺利,但是我必须为这个表做一个过滤器,为此我使用了 AJAX 。我已经设法删除了这些行,并使用控制器中另一个操作返回的JSON创建了新的行,但是我无法使用anchors标记(Edit和Delete)
$("#btnFiltrarPorFecha").click(function () {
let startDate = $('#datefilterh').data("daterangepicker").startDate.format('DD/MM/YYYY');
let endDate = $('#datefilterh').data("daterangepicker").endDate.format('DD/MM/YYYY');
$.ajax({
type: "GET",
url: '@Url.Action("GetHJson", "Hol")',
data: { 'startDate': startDate, 'endDate': endDate },
success: function (response) {
$("#principalTable tbody").remove();
let editAction = '<td><a href="#" class="button-action btnUpdateModal" name="btnUpdateModal">Edit</a></td>';
let deleteAction = '<td><a class="button-action btnDeleteModal" name="btnDeleteModal">Delete</a></td>';
let date = "";
let waiElement = "";
let tEHElement = "";
let t = "<tbody>";
$.each(response, function (i, v) {
date = moment(v.inicioF).format("DD/MM/YYYY");
if (v.ren == true) {
waiElement = '<td class="true"><span class="wai-true">Yes</span></td>';
} else {
waiElement = '<td class="false"><span class="wai-false">No</span></td>';
}
if (v.tEH) {
tEHElement = '<td>Yes</td>';
} else {
tEHElement = '<td>No</td>';
}
t += '<tr style="text-align:center;" id="' + v.idF + '"><td>' + v.descripcionF + '</td><td>' + date + '</td>' + waiElement + tEHElement + editAction + deleteAction + '</tr> ';
});
t += "</tbody>";
$("#principalTable").append(t);
},
error: function () {
}
});
})
渲染是好的,检查器中的元素似乎是正确的,但当我点击锚标签时,它没有打开模态。
为什么模式不打开?
1条答案
按热度按时间ghhaqwfi1#
根据詹姆斯的评论,我这样解决了这个问题。
其中: