2017-04-02 63 views
0

我有这两个元素彼此相邻。 隐藏字段包含记录的ID。当用户选中/取消选中复选框时,我应该能够检索记录的ID如何获取点击复选框旁边隐藏字段的值?

<asp:CheckBox ID="ckEdit" runat="server" CssClass="ckEditClass" /> 
<asp:HiddenField ID="hfEdit" Value='<%# Eval("ID") %>' runat="server" /> 

这就是我想要做的事:

$(".ckEditClass").on("click", function() { 
    var hidden = $(this).parent().parent().children(":hidden") 
    alert(hidden.val()); 
}) 

我越来越undefined

EDIT

上面的代码是从Visual Studio。但是,当我查看F12时,我看到围绕该复选框的<span>。希望这些信息会有所帮助。

<td> 
    <span class="ckEditClass"> 
      <asp:CheckBox ID="ckEdit" runat="server" CssClass="ckEditClass" /> 
    </span> 
    <asp:HiddenField ID="hfEdit" Value='<%# Eval("ID") %>' runat="server" /> 
</td> 

回答

1

您可以使用jQuery closest() & find()方法做到像以下。

$(".ckEditClass:checkbox").on("click", function() { 
 
    var hidden = $(this).closest('td').find(':hidden'); 
 
    alert(hidden.val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<table> 
 
    <tr> 
 
    <td> 
 
     <span class="ckEditClass"> 
 
      <input type="checkbox" id="ckEdit" class="ckEditClass"/> 
 
     </span> 
 
     <input type="hidden" id="hfEdit" value="10" /> 
 
    </td> 
 
    </tr> 
 
</table>

+0

现在,我该如何访问复选框本身,因为它似乎像'this'代表'span',而不是包裹复选框。 – Richard77

+0

查看最新的答案。选择器改为'$(“。ckEditClass:复选框”)'。 @ Richard77 – Azim

0

你可以试试这个方法

$(".ckEditClass").on("click", function() { 
    var hidden= $(this).next(input[type="hidden"]); 
    alert(hidden.val()); 
}); 

它会检查给定类型的下一个组成部分,将其返回。然后你可以提醒它的价值。

希望它可以帮助

相关问题