Получить текст метки с помощью jquery
Я хочу сделать очень простую вещь, но я не успеваю. У меня есть кнопка и ярлык на моей странице asp.net, и я хочу получить текст метки после нажатия кнопки. Вот мой код:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="DynamicWebApplication.WebForm2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function f()
{
var g = $('<%=Label1.ClientID%>').val(); // Also I tried .text() and .html()
alert(g);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<p></p>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="f();"/>
</div>
</form>
</body>
Ответы
Ответ 1
попробуйте следующее:
var g = $('#<%=Label1.ClientID%>').val();
или это:
var g = $('#<%=Label1.ClientID%>').html();
вам не хватает #
добавьте это в раздел главы:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Ответ 2
Попробуйте это
var g = $('#<%=Label1.ClientID%>').text();
Ответ 3
Попробуйте использовать функцию html().
$('#<%=Label1.ClientID%>').html();
Вам также не хватает #, чтобы сделать его идентификатором, который вы ищете. Без #, он ищет тип тега.
Ответ 4
попробуйте document.getElementById('<% = Label1.ClientID% > '). text или innerHTML OTHERWISE LOAD JQUERY SCRIPT И введите ваш код как есть.
Ответ 5
Try:
<%=this.Label1.Text%>
Ответ 6
Никакое решение здесь не сработало для меня. Вместо этого я добавил класс к метке и смог выбрать его таким образом.
<asp:Label ID="Label1" CssClass="myLabel1Class" runat="server" Text="Label"></asp:Label>
$(".myLabel1Class").val()
И, как уже упоминалось, убедитесь, что у вас загружен jquery.
Ответ 7
для строки, которую вы написали
var g = $ ('<% = Label1.ClientID%>'). val(); // Также я попробовал .text() и .html()
Вы пропустили добавление #. так должно быть
var g = $ ('# <% = Label1.ClientID%>'). text();
также я не предпочитаю использовать
это потому, что если вы вызываете элемент управления на главной или вложенной главной странице или если вы вызываете элемент управления на странице из главной страницы. Также контролирует в репитере. независимо от MVC. это вызовет проблемы.
Вы должны ВСЕГДА вызывать идентификатор элемента управления напрямую. как это
$ ( '# ControlID')
это просто и понятно. но не забудьте установить
ClientIDMode = "Static"
в ваших элементах управления, чтобы остаться с тем же именем идентификатора после рендера. потому что ASP.net будет изменять имя идентификатора в файле рендеринга HTML в некоторых контекстах, т.е. страница предназначена для главной страницы, имя элемента управления будет ConetentPlaceholderName_controlID
Я надеюсь, что это проясняет вопрос Удачи
Ответ 8
Это простое, задайте определенное значение для этой метки (например, XXXXXXX) и запустите ее, откройте источник вывода html (в браузере) и найдите XXXXXXX, вы увидите что-то вроде этого <span id="mylabel">XXXXXX</span>
, что вы хотите, ID <span>
(я думаю, что он обычно такой же, как имя метки в asp-коде) теперь вы можете получить его значение с помощью innerHTML или другого метода в JQuery