2015-07-20 66 views
0

我有一个从Td元素获取正确值的箴言。当我点击该元素但没有其他行正在工作时,我可以得到表格中的第一个元素。我的代码看起来像这样:单击td行时获取td值。 MVC

<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。此刻,表格中的第一个元素正在工作。有什么建议么?

回答

0

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

我想在这里取的ID是“用户id”和ID是唯一 –

+0

@AndreasJangefalk你用'@ foreach'迭代循环,所以几个可以生成具有相同“id”的“td”元素。 – sp00m

+0

奥普抱歉没有看到。谢谢。那么Jquery代码将如何呢? –

0

HTML属性 “身份证” 应该是唯一的,但是当你在做foreach循环,然后在所有行< TD>元素具有ID = “用户id”。我建议你添加用户id为HTML id属性:

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

    } 
</tbody>