【问题标题】:Access hiddenfield using Jquery使用 Jquery 访问隐藏字段
【发布时间】:2010-01-07 22:29:28
【问题描述】:

我有一个源自母版页的页面。在此页面上,我有一个隐藏字段(“hfUser”)。如何使用 JQuery 访问此“hfUser”控件并获取/设置其值? 我已经尝试过这种变体:

$(document).ready(function() {
    var test = $("#hfUser").val();
    alert(test);

});

但测试 = 未定义。我猜我选错了,但我不知道如何获得一个 asp hiddenfield。有什么想法吗?

谢谢

【问题讨论】:

  • 您确定hfUserid 而不是name?如果它的名字那么$('input[name=hfUser]');应该gt你的领域。
  • 嗨,这是 ID 而不是名称。

标签: asp.net jquery hiddenfield


【解决方案1】:

如果您使用的是 Asp.net 控件,服务器将破坏控件 ID。它在 id 中添加了一堆无关的控制树层次结构信息。您需要引用正在呈现的实际 id,这可通过控件 (hfUser.ClientID) 上的 ClientID 属性获得,或者以不同的、更迂回的方式访问您的控件,例如找到控件父级,然后搜索其孩子们找到你的控制权。

如果您不必使用 asp.net HiddenField 控件,请尝试仅使用常规的旧 html 输入。

【讨论】:

    【解决方案2】:

    ASP 确实喜欢破坏 ID。越往下钻进兔子洞(或嵌套控件),ASP 添加到控件 ID 的次数就越多。加上母版页,它又是一个或两个级别。

    访问服务器端控件的另一种方法(使用 runat 属性集)是在 jQuery 选择器中使用方括号。

    像这样:

    $("[id$='hidImgSource']").val()
    

    选择 ID 为“hidImgSource”的任何元素作为名称的结尾部分。所以它会找到损坏的 ID。

    这里是jQuery Selectors page 的链接,它解释了更多选项。

    【讨论】:

      【解决方案3】:

      如果隐藏字段是 ASP.NET 控件,请查看这篇博文以帮助您使用 ASP.NET 控件的 jQuery 选择器

      http://www.foliotek.com/devblog/extending-jquery-to-select-asp-controls/

      【讨论】:

        【解决方案4】:

        这样做:

        $(document).ready(function()
        {
            var test = $("**#<%= hfUser.ClientID %>**").val();
            alert(test);
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-13
          • 2011-01-02
          • 1970-01-01
          • 2015-09-24
          • 1970-01-01
          • 2010-11-03
          相关资源
          最近更新 更多