如何获取单击复选框旁边的隐藏字段的值?

时间:2017-04-02 17:27:37

标签: jquery

我把这两个元素紧挨着。 隐藏字段包含记录的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

修改

以上代码来自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>

2 个答案:

答案 0 :(得分:2)

您可以使用jQuery closest()&amp; find()方法可以执行以下操作。

&#13;
&#13;
$(".ckEditClass:checkbox").on("click", function () {
    var hidden = $(this).closest('td').find(':hidden');
    alert(hidden.val());
});
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以试试这种方式

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

它将检查给定类型的下一个组件并将返回它。然后你可以提醒它的价值。

希望有所帮助