Подтвердить что ты не робот

Получить текст метки с помощью 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>

4b9b3361

Ответ 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