单击td行时获取td值.MVC

Get td value when clicking the td row. MVC

本文关键字:td MVC 获取 单击      更新时间:2023-09-26

我有一个问题,从一个Td元素获取正确的值。我可以得到表中的第一个元素,当我点击该元素,但没有其他行工作。我的代码是这样的:

<div id="Users">
                    <table id="UserTable" class="table table-striped table-bordered" width="100%" cellspacing="0">
                        <thead>
                            <tr>
                                <th name="id">ID</th>
                                <th name="UserName">Användarnamn</th>
                                <th>Installation</th>
                                <th>Säljföretag</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach (var users in Model.AdminUsers)
                            {
                                <tr>
                                    <td id="userId">@users.Id</td>
                                    <td id="userName" >
                                        <a id="userIds"href="#backdropreport" class="">@users.UserName </a>
                                    </td>
                                    <td>@users.InstallationId</td>
                                    <td>@users.MerchantId</td>
                                </tr>
                            }
                        </tbody>
                    </table>
                </div>

我的Jquery代码:

            $("#userName").click(function () {
               var id = $("#userId").text();
               $("#user").val(id);
        });

模型内容对话框

<div id="backdropreport">
<div class="modal-content">
    <div class="header">
        <h3>Återställ lösenord</h3>
    </div>
    @using (Html.BeginForm("ResetPassword", "Users", FormMethod.Post)) 
    {
        <div class="copy">
            <div class="form-group">
                <div class="m-form-item">
                    För att återställa lösenordet så tryck på återställ så kommer ett mail skickas med ett nytt lösenord 
                </div>
                <div style="clear: both;">
                    &nbsp;
                </div>
                <div class="m-form-item">
                    <input type="submit" id="reset" value="Återställ" class="btn btn-primary" />
                    <a id="close" href="#" class="btn btn-grey">Stäng</a>
                </div>
                    <div class="m-form-item">
                    </div>
                </div>
            <input type="text" id="user" name="user"  />
        </div>
    }
</div>
<a href="#"><div class="overlay"></div></a>

我想做的事情是获取一个特定的td元素的id当用户点击用户名。目前,只有表中的第一个元素在工作。有什么建议吗?

Html属性"id"应该是唯一的,但当你做foreach循环,然后在所有行

<tbody>
    @foreach (var users in Model.AdminUsers)
    {
        <tr>
            <td id="userId_@users.Id">@users.Id</td>
            <td id="userName_@users.Id" >
                <a id="userIds"href="#backdropreport" class="">@users.UserName </a>
            </td>
            <td>@users.InstallationId</td>
            <td>@users.MerchantId</td>
        </tr>
    }
</tbody>

一个id应该在整个DOM文档中是唯一的。您可以使用类,并使用.class选择器。

@foreach (var users in Model.AdminUsers) {
  <tr>
    <td class="userId">@users.Id</td>
    <td class="userName">
      <a class="userIds" href="#backdropreport">@users.UserName</a>
    </td>
    <td>@users.InstallationId</td>
    <td>@users.MerchantId</td>
  </tr>
}
$(".userName").click(function() {
  var userId = $(this).siblings(".userId").text();
  alert(userId);
});