【问题标题】:Get td value when clicking the td row. MVC单击 td 行时获取 td 值。 MVC
【发布时间】:2015-07-20 14:59:04
【问题描述】:

我有一个从 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。目前只有表中的第一个元素正在工作。有什么建议吗?

【问题讨论】:

    标签: javascript jquery html css model-view-controller


    【解决方案1】:

    Html 属性“id”应该是唯一的,但是当您执行 foreach 循环时,所有行中的

    元素都有 id="userId"。我建议您将 userId 添加到 html id 属性:
    <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>
    

    【讨论】:

      【解决方案2】:

      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);
      });
      

      【讨论】:

      • 我要在这里获取的 id 是“userId”,并且该 id 是唯一的
      • @AndreasJangefalk 您正在使用@foreach 循环进行迭代,因此可能会生成多个具有相同idtd 元素。
      • 抱歉,没看到。谢谢你。那么 Jquery 代码会是什么样子呢?
      • @AndreasJangefalk 这是类选择器:api.jquery.com/class-selector
      • 好吧,我添加了类选择器,我同时获得了所有的 id。但只有当我单击表格列表中的第一个元素时,才与以前相同。另一个元素不起作用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2018-06-22
      • 2016-10-22
      • 1970-01-01
      相关资源
      最近更新 更多