如何使用ASP.NET MVC通过Ajax将选中的行发送到服务器?

战神

我有一个鞋类列表表,在每行的最后一秒中都有复选框<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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

验证后,ASP.NET Framework MVC使用ajax将Razor View数据发送到服务器

如何通过ActionLink将项目发送到ASP.NET MVC控制器?

在页面加载到asp.net之前将javascript值发送到服务器

使用.NET HttpClient将JSON发送到WebAPI服务器

ASP.NET Core MVC-将JSON发送到服务器时为空字符串为null

如何使用ASP Net Core 3.1通过Ajax将对象列表发送到控制器?

如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

如何通过ajax将项目ID发送到服务器:可排序的jQuery

如何使用 AJAX 将 JSON 数据发送到 ASP 服务器?

如何使用下拉列表将数据从视图发送到控制器 asp.net core 5 MVC

将ASP .NET投诉字典发送到服务器时,contentType应该是什么

如何在ASP.NET Core中使用Ajax将表单发送到控制器?

无法使用 Jquery 将数据从视图发送到控制器 Asp.net MVC

使用Signalr和Java客户端将json对象发送到.net服务器

如何使用Ajax将URL ID从Asp.net View发送到Controller?

如何使用axios.put将JSON发送到ASP.NET控制器

如何使用 Axios 将多个文件发送到 ASP.NET Core 的控制器?

如何从 .NET Core Web API 服务器 docker 容器将标签打印作业发送到网络 CUPS/Raspberry Pi 打印服务器?

无法使用log4javascript将客户端日志发送到服务器(Asp.net Web API)

从服务器收到的Cookie是安全的,但是发送到服务器的Cookie是不安全的ASP.NET

通过ajax将对象列表发送到ASP.NET MVC中的操作

如何将两个数组作为 POST 请求参数从 AJAX 发送到 MVC 控制器(ASP .NET Core 3.1 razor)?

无法将多个文件从JQuery AJAX发送到ASP.NET MVC

如何通过进行Ajax调用将html表单数据发送到node.js服务器?

将修改后的表发送到ASP.NET MVC中的控制器?

将 JSON 字符串发送到 ASP.NET Core MVC 控制器

ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

将Javascript数组发送到控制器ASP.NET MVC

将 JSON 从视图发送到控制器 ASP.NET MVC 给出空值