jquery 过滤器选项不显示为动态dataTable在asp.net核心剃刀页

brqmpdu1  于 2024-01-07  发布在  jQuery
关注(0)|答案(2)|浏览(186)

我有一个页面,它显示与出勤详细信息的客户名称.我已经显示了一个模态弹出窗口内的出勤详细信息.数据显示在一个模态弹出窗口使用jquery datatables与过滤选项(搜索,分页..).
我在这里面临的问题是过滤选项只适用于第一个客户,当它来为第二个客户,它是不显示.我试图通过数据表的客户ID.但它不显示第二/第三个客户的过滤选项.
请在下面找到我的代码和截图。感谢您的帮助。

  1. <!---Customer Div Starts Here---->
  2. @for (int i = 0; i < groups.Count(); i += 4)
  3. {
  4. <div class="row mt-2">
  5. @{
  6. int j = 0;
  7. for (; j <= 3 && i + j < groups.Count(); j++)
  8. {
  9. //if(Model.GetCusAttOverview[i+j].AttendancePercentage != 0){
  10. <div class="col-md-3">
  11. <div class="card border-0" style="height:440px;">
  12. <div class="card-header" style="background-image: linear-gradient(#f1b52c, #ce6d28)">
  13. <a class="text-decoration-none" target="_blank" asp-page="/AttReport" asp-route-customerId="@Model.GetCusAttOverview[i+j].CustomerID"><h4 class="text-center text-white"> @groups[i+j].ToUpper()</h4></a>
  14. </div>
  15. <div class="card-body pb-0" style="background: rgba(57,57,57)">
  16. <div class="row">
  17. <div class="col-md-12">
  18. @{
  19. int n = @Model.GetCusAttOverview[i + j].AttendancePercentage;
  20. var BarColor = @Model.OnGetBarColor(n);
  21. BarColor.ToString();
  22. }
  23. <div class="overallchart" data-percent="@Model.GetCusAttOverview[i+j].AttendancePercentage" data-barcolor="@BarColor.Content">@Model.GetCusAttOverview[i+j].AttendancePercentage%</div>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="card-footer" style="background: rgb(57,57,57); ">
  28. <div class="row">
  29. <div class="col-md-6">
  30. <h6 class="text-center text-white p-3">TOTAL EMPLOYEES</h6>
  31. </div>
  32. <div class="col-md-6">
  33. @{
  34. string CustName = groups[i+j].Replace(",", "").Replace("&", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace(" ", "");
  35. }
  36. <h6 class="text-center text-white p-3"> ATTENDANCE <a href="#" class="text-decoration-none" data-bs-toggle="modal" data-bs-target="#modalCustAttendance_@CustName"><i class="fa-solid fa-circle-info fa-2" style="color: #009add;"></i></a></h6>
  37. </div>
  38. </div>
  39. <div class="row">
  40. <div class="col-md-6" style="background-image:linear-gradient(to right,#009add,#005486)">
  41. <h3 class="text-center text-white">@Model.GetCusAttOverview[i+j].TotalEmployees</h3>
  42. </div>
  43. <div class="col-md-6" style="background-image:linear-gradient(to right,#82bc00,#006432)">
  44. <h3 class="text-center text-white">@Model.GetCusAttOverview[i+j].Attendance</h3>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="modal" id="modalCustAttendance_@CustName" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  50. <div class="modal-dialog modal-xl" role="document">
  51. <div class="modal-content">
  52. <div class="modal-header text-center">
  53. <h4 class="modal-title w-100 font-weight-bold">Attendance Details - @Model.GetCusAttOverview[i + j].CustomerName</h4>
  54. <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  55. <span aria-hidden="true">&times;</span>
  56. </button>
  57. </div>
  58. <div class="modal-body">
  59. <div class="row mb-2">
  60. <div class="col-md-12">
  61. <form method="post" enctype="multipart/form-data">
  62. <input asp-for="@Model.CustomerId" type="hidden" value='@Model.GetCusAttOverview[i + j].CustomerID' id="hdnCustomerId"/>
  63. <button asp-page-handler="Download" class="btn float-end" style="background-color:#009add">Download Report</button>
  64. </form>
  65. </div>
  66. </div>
  67. <div class="card">
  68. <div class="card-body">
  69. <div class="table-responsive">
  70. <table class="table table-hover" id="data" style="width:100%">
  71. <thead>
  72. <tr>
  73. <th>
  74. Employee Number
  75. </th>
  76. <th>
  77. Employee Name
  78. </th>
  79. <th>
  80. Function
  81. </th>
  82. <th>
  83. Shift
  84. </th>
  85. <th>
  86. Attendance
  87. </th>
  88. </tr>
  89. </thead>
  90. <tbody>
  91. @foreach (var item in Model.GetCusOverviewAttendance.Where(c => c.CustomerID == Model.GetCusAttOverview[i + j].CustomerID))
  92. {
  93. string FontColor = "";
  94. @if (item.Attendance == "Absent")
  95. {
  96. FontColor = "Red";
  97. }
  98. <tr>
  99. <td style='color: @(FontColor);'>
  100. @Html.DisplayFor(modelItem => item.EmployeeNumber)
  101. </td>
  102. <td style='color: @(FontColor);'>
  103. @Html.DisplayFor(modelItem => item.EmployeeName)
  104. </td>
  105. <td style='color: @(FontColor);'>
  106. @Html.DisplayFor(modelItem => item.FunctionName)
  107. </td>
  108. <td style='color: @(FontColor);'>
  109. @Html.DisplayFor(modelItem => item.ShiftName)
  110. </td>
  111. <td style='color: @(FontColor);'>
  112. @Html.DisplayFor(modelItem => item.Attendance)
  113. </td>
  114. </tr>
  115. }
  116. </tbody>
  117. </table>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <div class="modal-footer d-flex justify-content-center">
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. //}
  129. }
  130. }
  131. </div>
  132. }
  133. <script>
  134. $(document).ready(function () {
  135. $('#data').DataTable()({
  136. 'searching': true
  137. })
  138. });
  139. </script>

字符串
x1c 0d1x的数据


yduiuuwa

yduiuuwa1#

这是因为所有的表都拥有相同的id(在本例中为data),所以您需要为每个表给予唯一的id。
对于您当前的代码,您可以像下面这样更改表ID:

  1. <table class="table table-hover" id="data_@i" style="width:100%">

字符串
然后像下面这样修改你的js代码:

  1. <script>
  2. $(document).ready(function () {
  3. $('[id^="data"]').DataTable({
  4. 'searching': true
  5. })
  6. });
  7. </script>

展开查看全部
fd3cxomn

fd3cxomn2#

这条线对吗?

  1. $('#data').DataTable()({
  2. 'searching': true
  3. })

字符串
应该是的

  1. $('#data').DataTable({
  2. 'searching': true
  3. })

相关问题