javascript: 如何从 foreach 获取 data-id 上的每个记录 id?

标签 javascript asp.net-mvc html

我有一个类别列表表,它从 foreach 获取记录。每行都有删除按钮,该按钮有 data-id 从该行获取 id。我还有一个获取数据 ID 的函数。但有一个问题,我总是得到第一个记录id。

like this

Source

Global.js: 

    function DeleteCategory() {
                var Id = $("#Cid").attr("data-id");
                alert(Id); 
            }

索引.cshtml:

  <tbody>
                                @foreach (var item in Model)
                                {
                                    <tr>
                                        <td><span class="label label-success">@item.Id</span></td>
                                        <td>@item.CategoryName</td>
                                        <td>
                                            @if (item.IsActive)
                                            {
                                                <b  class="label label-success">Active</b>
                                            }
                                            else
                                            {
                                                    <b  class="label label-danger">Passive</b>
                                            }
                                        </td>
                                        <td>Server updates and maintenance</td>
                                        <td><a href="#">Admin</a></td>
                                        <td>
                                            <button class="btn btn-default btn-sm" id="editId" onclick="" data-id="">Edit</button>
                                            @*@Html.ActionLink("Delete","Delete", new {id=item.Id },new { onclick = "return confirm('Do you want to delete this row?')"})*@
                                            <button class="btn btn-default btn-sm" id="Cid" onclick="DeleteCategory()" data-id="@item.Id">Delete</button>
                                        </td>
                                    </tr>

                                }

最佳答案

元素的

id 属性在页面上必须是唯一的。这意味着不允许有 2 个或多个具有相同 id 的元素。只有具有此 id 的第一个元素才会被视为真实元素。您可以使用类来代替。

但在您的情况下,将 itemId 直接传递给您的 DeleteCategory 函数会更容易:

<button class="btn btn-default btn-sm" id="Cid" onclick="DeleteCategory(@item.Id)">Delete</button>

并修改为:

function DeleteCategory(Id) {
    alert(Id); 
}

关于javascript: 如何从 foreach 获取 data-id 上的每个记录 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657723/

相关文章:

javascript - 如何在 jQuery 和 CSS 中使用 * 获取类?

javascript - 使用 API 注册创建 Node.js API 框架

ios - Plupload 错误地旋转上传的照片,但仅限于 Safari

html - 联系表单字段没有响应/不会缩放

javascript - 在xhtml中为body元素设置背景图像(针对不同的显示器和分辨率)

javascript - 进行 AJAX 调用时加载程序不显示

javascript - html输入数字,min + step,使step忽略min?

asp.net - 验证失败时,ASP.NET MVC 如何在表单中重新填充值?

C# 如何从控制台应用程序调用 MVC Action 方法

html - 当文本很长时 <td> 标签中的 CSS 换行符