如何使用 JQuery 在 MVC 中删除选中的行
Posted
技术标签:
【中文标题】如何使用 JQuery 在 MVC 中删除选中的行【英文标题】:How to Delete checked row in MVC using JQuery 【发布时间】:2018-11-02 12:47:42 【问题描述】:如何使用 jquery 从 asp.net MVC 中的数据库中删除已检查的表行 这是我的代码,请帮帮我。我试过了,但是如果有人有建议,这不起作用,请给我一些。
function saveOrder(data)
return $.ajax(
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
url: "/Bill/SaveOrder",
data: data,
success: function (result)
alert(result);
location.reload();
,
error: function ()
alert("Error!")
);
var selectedValues = [];
$.each($("#empsToDel"), function ()
selectedValues.push(
ID = $("input:checked").val()
)
);
var data = JSON.stringify(
Delete:selectedValues
);
<table>
<tr>
<th></th>
<th>@html.DisplayNameFor(model => model.Product.ProductName)</th>
</tr>
@foreach (var item in Model)
<tr id="new">
<td><input type="checkbox" class="checkbox" value="@item.ID" name="empsToDel" id="empsToDel" /></td>
<td>@Html.DisplayFor(modelItem => item.Product.ProductName)</td>
</tr>
</table>
<input id="saveOrder" type="submit" class="btn btn-default" value="ok" />
这是我的控制器
【问题讨论】:
为什么只添加了控制器代码作为截图? 调试时,具体是在哪里首次失败?您在这里有几个活动部分,哪一个没有达到您的预期? 还有javascript和html代码。 它没有显示错误,但它也不起作用 它没有将数据传递给控制器我认为问题出在客户端。 【参考方案1】: <table>
<tr>
<th></th>
<th>@Html.DisplayNameFor(model => model.Product.ProductName)</th>
</tr>
@foreach (var item in Model)
<tr id="new'@item.ID'">
<td><input type="checkbox" class="checkbox" value="@item.ID"
name="empsToDel" id="empsToDel'@item.ID'" /></td>
<td>@Html.DisplayFor(modelItem => item.Product.ProductName)</td>
</tr>
</table>
<input id="saveOrder" type="submit" class="btn btn-default" value="ok" />
$("#saveOrder").click(function ()
var selectedValues = new Array();
$(".checkbox:checked").each(function ()
selectedValues.push($(this).val());
);
var clientIdList = selectedValues.join();
$.ajax(
type: "POST",
url: '@Url.Action("SaveOrder", "Bill")',
data: clientIdList: clientIdList ,
beforeSend: function ()
,
success: function (response)
alert(result);
location.reload();
,
complete: function ()
,
error: function ()
);
);
BillController.cs
public ActionResult SaveOrder( string clientIdList = null)
if (clientIdList != "")
var clientIds = clientIdList.Split(',').Select(x =>
Int64.Parse(x)).ToArray();
希望这对您有所帮助。
【讨论】:
以上是关于如何使用 JQuery 在 MVC 中删除选中的行的主要内容,如果未能解决你的问题,请参考以下文章
Jquery如何删除table里面checkbox选中的多个行
Javascript jQuery插件DataTables取消选择元素
如何使用从 Spring MVC 发回的 JSON 对象填充 jQuery 数据表的行?