Jquery 删除我刚刚用Ajax-MVC3添加的元素(从客户端和服务器端)

Jquery 删除我刚刚用Ajax-MVC3添加的元素(从客户端和服务器端),jquery,ajax,asp.net-mvc-3,sql-server-2008,Jquery,Ajax,Asp.net Mvc 3,Sql Server 2008,我有一个视图,其中我从数据库向表中添加了一些元素;让我们叫桌上的学生。在视图中,我还可以选择将一些书分配给我正在添加到表中的学生。我已经用Ajax完成了这项工作 演示: 学生姓名:。。。 图书:(来自数据库)(添加按钮) 当我点击这里的按钮时,我附加了一些书。我还会在会话中保留每本书的id(在列表中,当我单击submit时,我会将该列表发送到服务器) [提交按钮] 问题是我想添加一个delete buton,如下所示: 学生姓名:。。。 书籍: 第1册删除 第2册删除 [提交按钮]

我有一个视图,其中我从数据库向表中添加了一些元素;让我们叫桌上的学生。在视图中,我还可以选择将一些书分配给我正在添加到表中的学生。我已经用Ajax完成了这项工作

演示:

学生姓名:。。。 图书:(来自数据库)<这里是一个按钮>(添加按钮)
    当我点击这里的按钮时,我附加了一些书。我还会在会话中保留每本书的id(在列表中,当我单击submit时,我会将该列表发送到服务器)
[提交按钮] 问题是我想添加一个delete buton,如下所示:

学生姓名:。。。 书籍:<这里有一个按钮>
    第1册删除 第2册删除
[提交按钮] 当我单击delete按钮从列表和会话中删除该元素时

这是我的密码:

  • 从视图中删除脚本

    $(function () {
    
        $("#add").click(function () {
    
            //items.push($("#category").val());
            $.ajax({
                url: '@Url.Action("AddCategory")',
                type: "POST",
                dataType: "JSON",
                data: { id: $("#categoryId option:selected").val() },
                beforeSend: function () { },
                success: function (data) {
    
                    $("#toFill").append("<li>" + $("#categoryId option:selected").text() + " " + "<span style='cursor:pointer;' id='a'>" + "[X]" + "</span>" + " " + "</li>");
                },
                error: function () { alert("error") }
    
            })
            $("#toFill #a").click(function () {
    
                $.ajax({
                    url: '@Url.Action("DeleteCat")',
                    type: "POST",
                    dataType: "JSON",
                    data: { id: $("#categoryId option:selected").val() },
                    beforeSend: function () { },
                    succes: function (data) {
                        // $("li").remove();
                        alert("lala"); return false;
                    },
                    error: function () { alert("error at delete") }
    
    
    
                })
    
            });
        })
    

如果您有一个直接作用于下拉列表的删除按钮,那么它将更符合逻辑,并且更易于遵循、使用和编程-即,在下拉列表中选择一个项目,然后单击删除以删除所选项目

我不这么想。你看。。。假设您有一个虚拟商店,并且为每个类别分配了更多的产品。从下拉列表中选择一个产品,然后单击“添加”;从下拉列表中选择其他产品,然后再次单击“添加”。现在,您意识到您不需要添加的第一个产品,然后单击“删除”按钮。现在,在列表中只有第二个产品,单击“提交”时,表中仅注册了第二个产品。
public ActionResult AddCategory(int id)
{
    Session.Category.Add(id);
    return Json(id, JsonRequestBehavior.AllowGet);
}

public ActionResult DeleteCat(int id)
{
    Session.Category.Remove(id);
    return Json(id, JsonRequestBehavior.AllowGet);
}