javascript - 在不刷新页面的情况下不能删除多个表格行

标签 javascript jquery model-view-controller tablerow

在 MVC 中,我通过迭代 View 模型的“列表”在 View 中构建了一个表。

@foreach(var item in Model)
{
<tr id="row-@item.name">
    <td>
        @item.type
    </td>
    <td >
        @Html.ActionLink((string)item.name, "Download", "FileUpload", new { rout = item.rout, fileName = item.name }, null)
    </td>
    <td>
        @item.size
    </td>
    <td>
        <a href="#" id="delete-file" del-url="@item.delete_url">Delete</a>
    </td>
</tr>

当我加载页面时,我会得到一个文件列表,每个文件都有一个“删除”链接。

我用 jQuery 实现了一个基本的“删除行”方法:

$('#delete-file').click(function() {
    var delUrl = $(this).attr('del-url');
    $.post(delUrl, null, removeRow(),'json')
});

function removeRow() {
   $($('#delete-file').closest('tr')).fadeOut('slow');
}

当我在其中一个文件行上单击“删除”时,它运行良好,但是如果我单击另一个(删除),则没有任何反应。服务器上没有文件被删除,行也没有被删除,就好像它被完全忽略了一样。

最佳答案

您需要使用 class="delete-file" 而不是 id="delete-file" - 当然还有相应的 $(". delete-file") 选择器。

每个文档的 ID 都是唯一的,您的代码将处理程序绑定(bind)到第一个 id="delete-file" 元素。

关于javascript - 在不刷新页面的情况下不能删除多个表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10674370/

相关文章:

javascript - 提交表单时数据表中的复选框不起作用

jQuery 添加一个 div 到元素的打开,然后在不同的元素之后关闭 div

ruby-on-rails - 将对象从 View 传递到 Controller

JavaFX 绘制形状时出现鼠标输入问题?

javascript - SAPUI5 检查 View 中的模型属性

JavaScript 正则表达式三部分

javascript - 检查所有图片何时上传完成?

javascript - 重定向 Url 不工作并得到 No 'Access-Control-Allow-Origin' header Error

javascript - 拖动标记后 Ng-map 获取地址

javascript - Yii2:如何将 JSON 加载到 GridView 中?