代码之家  ›  专栏  ›  技术社区  ›  keyboardP

使用Jquery访问hiddenfield

  •  4
  • keyboardP  · 技术社区  · 16 年前

    我有一个从母版页派生的页面。在这个页面上,我有一个hiddenfield(“hfUser”)。如何使用JQuery访问此“hfUser”控件并获取/设置其值? 我已经尝试过这方面的变体:

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

    但是test=未定义。我猜我的选择器搞错了,但我不知道如何获取asp隐藏字段。有什么想法吗?

    谢谢

    4 回复  |  直到 16 年前
        1
  •  6
  •   Doug R    16 年前

    如果使用Asp.net控件,服务器将损坏控件ID。它向id中添加了一组无关的控件树层次结构信息。您需要引用要呈现的acutal id,该id可通过控件(hfUser.ClientID)上的ClientID属性使用,或者以其他更迂回的方式访问控件,如查找控件的父控件,然后搜索它的子对象以找到您的控件。

        2
  •  3
  •   Eric Burdo    13 年前

    ASP不喜欢损坏ID。越深入兔子洞(或嵌套控件),ASP添加到控件ID中的内容就越多。再加上母版页,这又是一个或两个级别。

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

    这样地:

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

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

    这里有一个链接到 jQuery Selectors page 这就解释了更多的选择。

        3
  •  2
  •   Tim Banks    14 年前

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

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

        4
  •  0
  •   eeerahul Stalin Pimentel    14 年前

    这样做:

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