View代码:
@model IEnumerable<Mvc_EF.Models.Customer>
@{
ViewBag.Title = "我的MVC";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>
客户中心</h2>
<p>
@Html.ActionLink("添加", "Create")
<input type="submit" value="删除" id="plsc" name="plscjl" />
</p>
<table style="text-align: center">
<tr>
<th align="center">
操作:
</th>
<th>
编号:
</th>
<th>
用户名:
</th>
<th>
联系方式:
</th>
<th>
备注:
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
<input type="checkbox" fxkid="@item.CustomerID" name="fxsc" class="select" />
@Html.ActionLink("更新", "Edit", new { id = item.CustomerID }) | @*@Html.ActionLink("详情", "Details", new { id = item.CustomerID }) |*@
<a name="Delete" stuid="@item.CustomerID">删除</a>
</td>
<td>
@item.CustomerID
</td>
<td>
@item.CustomerName
</td>
<td>
@item.Telephone
</td>
<td>
@item.Remark
</td>
</tr>
}
</table><script type="text/javascript" language="javascript">
$(function () {
var arry = new Array();
var trarry = new Array();
$("#plsc").click(
function () {
var i = 0;
var t = 0;
$("input.select").each(function () {
if ($("[name='fxsc']:checked")) {
var id = $(this).attr("fxkid");
var tr = $(this).parent().parent();
trarry[t] = tr;
tr++;
arry[i] = id;
i++; } })
if (arry.length > 0 && trarry.length > 0) {
if (!confirm("确定要删除这些用户吗?")) return false;
for (var i = 0; i < arry.length; i++) {
var url = "Customer/Delete/" + arry[i];
$.post(url, function (data) {
if (data != "-1") {
for (var t = 0; t < trarry.length; t++) {
$(trarry[t]).remove();
}
alert("删除成功");
}
else {
alert("删除失败"); } }); } } }); }); </script>
控制器代码:
[HttpPost, ActionName("plscjl")]
public ActionResult Delete(List<int> id)
{
try
{
// TODO: Add delete logic here
if (Request.IsAjaxRequest())
{
foreach (var i in id)
{
if (i > 0)
{
var customersc = dbContext.Customers.SingleOrDefault(s => s.CustomerID.Equals(i));
dbContext.Customers.DeleteObject(customersc);
int result = dbContext.SaveChanges();
return Content(result.ToString());
}
}
return null;
}
else
{
return Content("-1");
}
}
catch
{
return Content("-1");
}
}
}
有点乱辛苦大家看看
$("input.select:checked").each(function () { //todo })
可以了谢谢,为什么要循环checked,能说下吗
@肥肚皮: 只循环选中的checkbox
@Yu: 那为什么我在下面进行判断不能得到想要的效果
@肥肚皮: 这个 if ($("[name='fxsc']:checked")) 有问题,不是你想的循环对象
if ($("[name='fxsc']:checked")) 这句话有问题,换 if ($("[name='fxsc']:checked").attr("checked") == true)试试
还是不行啊
@肥肚皮: var id = $(this).attr("fxkid");
var tr = $(this).parent().parent();
trarry[t] = tr;
tr++;
arry[i] = id;
这段代码执行时,添加 if($(this).attr("checked") == true) 判断,之前我搞错了..
}
@jingjunfeng: 是因为之前没有遍历出选中的checkbox吗?所以后面要在遍历一次
楼上说的对, :checked 就是获取选中的
$("[name='fxsc']:checked") //这个就是 获取选中的 一个集合,数组。里面不用再判断了,直接取值就行。
我懂了谢谢
你可以给每个数据加上一个ID,根据ID删除