7

如何使用 jQuery 获取服务器控件的 ID?

例如我有

<asp:Label ID="label1" runat="server""></asp:Label>

现在我想得到“label1”,

var id = ??
4

6 回答 6

11

如果您使用 ASP.NET 4.0,您可以设置属性 ClientIDMode="Static",您的代码将如下所示:

<asp:Label ID="label1" runat="server" ClientIDMode="Static"></asp:Label>

js:

var id = 'label1';
于 2011-04-14T16:38:00.727 回答
9
var labelID = $('#<%= label1.ClientID %>');

您需要获取客户端 ID。

如果您只需要 ID,而不需要控件的实际值,那么您甚至不需要 jQuery。

var labelID  = '<%= label1.ClientID %>';
于 2011-04-14T16:01:35.690 回答
3
var $lblObj = $("label[id$='label1']:first")
于 2012-08-09T09:57:49.817 回答
0

您是否使用母版页。如果是,则提供 ContentPlaceHolderID 以及控件 ID。

例如:

 jQuery("#ContentPlaceHolderID_ControlId").val;
   jQuery("#body_label1").text;

你可以在 Viewsource 中看到这个

于 2011-11-23T09:11:35.573 回答
0

jQuery 在客户端运行,因此只能访问 html 元素的 ID,而不是服务器上的 asp 控件。

于 2011-04-14T15:57:29.060 回答
-1

标签呈现为跨度标签。因此,如果要选择所有标签:

    $(document).ready(function()
    {
        $Labels = $("span");

        $Labels.each(function()
        {
            alert(this.id); 
        });
    });
于 2011-04-14T16:02:12.473 回答