How do I get the ID of a server control with jQuery?
E.g. I have
<asp:Label ID="label1" runat="server""></asp:Label>
and now I want to get "label1",
var id = ??
If you use ASP.NET 4.0 you can set attribute ClientIDMode="Static" and your code will looks following way:
<asp:Label ID="label1" runat="server" ClientIDMode="Static"></asp:Label>
js:
var id = 'label1';
var labelID = $('#<%= label1.ClientID %>');
You need to get the client ID.
If you just need the ID, and not the actual value of the control, then you don't even need jQuery.
var labelID = '<%= label1.ClientID %>';
var $lblObj = $("label[id$='label1']:first")
jQuery runs on the client side so would only be able to access the ID of the html element rather than the asp control on the server.
Are you using master page. If yes give ContentPlaceHolderID along with control id.
Eg:
jQuery("#ContentPlaceHolderID_ControlId").val;
jQuery("#body_label1").text;
You can see this in Viewsource
Labels render as span tags. So if you want to select all the Labels:
$(document).ready(function()
{
$Labels = $("span");
$Labels.each(function()
{
alert(this.id);
});
});
来源:https://stackoverflow.com/questions/5666011/retrieve-id-of-server-control-using-jquery