2015-07-20 70 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>