asp.net-mvc-2 - 使用jquery从动态html表中删除一行

标签 asp.net-mvc-2 jquery jquery-selectors

我已将 View 中的一些数据保存到数据库中,并在我的 asp.net mvc 应用程序中使用 jquery 将其添加到动态创建的 html 表中。下面给出了脚本。

$(document).ready(function() {
    var attributetable = [];
    $("#AddAttrib").click(function(event) {
        event.preventDefault();
        $("#AttributeList").show();
        var attribute = $("#Attribute").val();
        var attributename = $("#Attribute option:selected").text();
        var documentId = $("#DocumentId").val();
        var instructionId = $("#InstructionId").val();

        var attributevalue = $("#text1").val();
        attributetable.push({
            attribute: attribute,
            attributevalue: attributevalue
        });
        var row = $("<tr></tr>");

        var contents = '<tr><td>' + attribute + '</td><td>' + attributename + '</td><td>' + attributevalue + '</td><td><a id="delete" href="#">Delete</a></td></tr>';
        $("#AttributeList").append(contents);

        var jsonToPost = {};
        jsonToPost.attribute = attribute;
        jsonToPost.attributename = attributename;
        jsonToPost.attributevalue = attributevalue;
        jsonToPost.documentId = documentId;
        jsonToPost.instructionId = instructionId;

        jsonToPostString = JSON.stringify(jsonToPost);
        alert(jsonToPostString);
        $.post("/Instruction/CreateInstnAttribute", { data: jsonToPostString });
    });

我需要在单击“删除”时删除该行。要求是在单击删除链接时删除该行。我怎样才能实现它? 感谢您之前的所有帮助。

最佳答案

您似乎正在使用 "delete"多行的 ID。那是无效的。 ID 必须是唯一的。它应该是一个类。

<td><a class="delete" href="#">Delete</a></td>

那么如果AttributeList是你的<table> ,您可以放置​​ a .delegate() 其上的处理程序来处理 <a> 上的点击具有类 "delete" 的元素.

$("#AttributeList").delegate('a.delete', 'click', function( e ) {
    e.preventDefault();
    $(this).closest('tr').remove();
});

将其放入您的 $(document).ready() 中打电话。

这个uses .closest() 获取最近的<tr>祖先,then .remove() 删除该行。

它还有uses e.preventDefault() 禁用 <a> 的默认行为元素。

关于asp.net-mvc-2 - 使用jquery从动态html表中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133757/

相关文章:

c# - ASP.NET MVC - 下拉列表后处理问题

asp.net-mvc - 未创建 ASP.NET MVC 2 客户端验证规则

c# - 通用映射器而不是有许多单独的映射器

jquery - 奇怪的 CSS "appear"在 Chrome 中但在 Firefox 中没有

javascript - 更改已应用样式的 html 表格行颜色

javascript - jQuery - 检查输入是否不是选择字段

asp.net-mvc - ASP.NET MVC HTML助手可以呈现没有ID属性的元素吗?

javascript - Jquery 滑动切换不显示点击内容

jquery - 将 Jquery onclick 事件添加到某个类中的所有链接

javascript - Sizzle 仅返回一个元素,而选择器匹配两个元素