我有一个鞋类列表表,在每行的最后一秒中都有复选框<th>Area</th>
(如服务器中的布尔值)。
<a class="btn btn-primary float-right btn-sm text-white" id="cambiarAreaE">Trasladar a Ensuelado</a>
<table id="tabla-alistados" class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>Cod.</th>
<th class="text-red">Ref. Solicitud</th>
<th class="text-red">Ref. Pedido</th>
<th>Imagen</th>
<th>Talla</th>
<th>Atraso por</th>
<th>Area</th>
<th class="text-center">Acciones</th>
</tr>
</thead>
<tbody>
@foreach (var detalle in Model.DetalleSolicitud)
{
<tr>
<td> ...
<td>
<td> ...
<td>
<td> ...
<td>
<td> ...
<td>
<td> ...
<td>
<td> ...
<td>
<td class="text-center">
@detalle.Produccion.Area
<br /><br />
<div class="form-group clearfix">
<div class="icheck-primary d-inline">
<input type="checkbox" id="checkboxPrimary1" class="checkboxAlistados" style="width: 25px; height: 25px">
<label for="checkboxPrimary1"> </label>
</div>
</div>
</td>
<td class="text-center"> ... </td>
</tr>
}
</table>
我正在尝试仅将已检查的行发送给控制器,但是...我认为简单快捷的方法是将所有Id作为在其行中检查的数组发送。
这就是我在Jquery中的功能:
$("#cambiarAreaE").click(function (e) {
e.preventDefault();
var checkedIds = new Array();
var table = $("#tabla-alistados tr").children("td");
$.ajax({
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
data: checkedIds,
url: "/Produccion/CambiarAreas/",
success: function (result, state) {
location.reload();
},
error: function () {
alert("Un error interno ha ocurrido.")
}
});
});
我该如何解决?这使我非常困难,因为有很多行,而且我不知道如何编写代码。
您可以使用each
循环遍历.checkboxAlistados
被检查的对象,然后使用column的.closest()
get值Cod
并将其推入array中。
演示代码:
$("#cambiarAreaE").click(function(e) {
e.preventDefault();
var checkedIds = new Array();
//loop through tbody > class checkboxAlistados
var selectors = $("#tabla-alistados tbody .checkboxAlistados:checked");
selectors.each(function() {
//get closest tr and then get Cod value
checkedIds.push($(this).closest('tr').find("td:eq(0)").text())
});
console.log(checkedIds)
//your ajax call ..do JSON stringify
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="tabla-alistados" class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>Cod.</th>
<th class="text-red">Ref. Solicitud</th>
<th class="text-red">Ref. Pedido</th>
<th>Imagen</th>
<th>Talla</th>
<th>Atraso por</th>
<th>Area</th>
<th class="text-center">Acciones</th>
</tr>
</thead>
<tbody>
<tr>
<td>12</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td class="text-center">
@detalle.Produccion.Area
<br /><br />
<div class="form-group clearfix">
<div class="icheck-primary d-inline">
<input type="checkbox" id="checkboxPrimary1" class="checkboxAlistados" style="width: 25px; height: 25px">
<label for="checkboxPrimary1"> </label>
</div>
</div>
</td>
<td class="text-center"> ... </td>
</tr>
<tr>
<td>13</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td class="text-center">
@detalle.Produccion.Area
<br /><br />
<div class="form-group clearfix">
<div class="icheck-primary d-inline">
<input type="checkbox" id="checkboxPrimary1" class="checkboxAlistados" style="width: 25px; height: 25px">
<label for="checkboxPrimary1"> </label>
</div>
</div>
</td>
<td class="text-center"> ... </td>
</tr>
<tr>
<td>14</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td> ...
</td>
<td class="text-center">
@detalle.Produccion.Area
<br /><br />
<div class="form-group clearfix">
<div class="icheck-primary d-inline">
<input type="checkbox" id="checkboxPrimary1" class="checkboxAlistados" style="width: 25px; height: 25px">
<label for="checkboxPrimary1"> </label>
</div>
</div>
</td>
<td class="text-center"> ... </td>
</tr>
</table>
<button id="cambiarAreaE">Click me</button>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句