Получить текст метки с помощью jquery - PullRequest
22 голосов
/ 07 августа 2011

Я хочу сделать очень простую вещь, но я не успешен. У меня есть кнопка и метка на моей странице 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>

Ответы [ 8 ]

32 голосов
/ 07 августа 2011

попробуйте это:

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>
16 голосов
/ 07 августа 2011

Попробуйте это

var g = $('#<%=Label1.ClientID%>').text();
3 голосов
/ 07 августа 2011

Попробуйте использовать функцию html ().

$('#<%=Label1.ClientID%>').html();

Вам также не хватает #, чтобы сделать его идентификатором, который вы ищете. Без # он ищет тип тега.

1 голос
/ 30 сентября 2018

Никакое решение здесь не работает для меня.Вместо этого я добавил класс к метке и смог выбрать его таким образом.

<asp:Label ID="Label1" CssClass="myLabel1Class" runat="server" Text="Label"></asp:Label>

$(".myLabel1Class").val()

И, как уже упоминалось, убедитесь, чтоу вас загружен JQuery.

1 голос
/ 28 апреля 2015

Попробуйте:

<%=this.Label1.Text%>
1 голос
/ 30 ноября 2012

попробуйте document.getElementById ('<% = Label1.ClientID%>'). Text или innerHTML ИСПОЛЬЗУЙТЕ СКРИПТ JQUERY ЗАГРУЗКИ И поместите свой код как есть ....

0 голосов
/ 15 января 2019

для строки, которую вы написали

var g = $ ('<% = Label1.ClientID%>'). Val ();// Также я пробовал .text () и .html ()

, вы пропустили добавление #.это должно быть так

var g = $ ('# <% = Label1.ClientID%>'). text ();

также я не предпочитаю использовать этот метод

, потому что, если вы вызываете элемент управления на главной или вложенной главной странице, или если вы вызываете элемент управления на странице от мастера.Также контролирует в повторителе.независимо от MVC.это вызовет проблемы.

Вам следует ВСЕГДА вызывать идентификатор элемента управления напрямую.вот так

$ ('# ControlID')

это просто и понятно.но не забудьте установить

ClientIDMode = "Static"

в ваших элементах управления, чтобы они оставались с тем же именем идентификатора после рендеринга.Это связано с тем, что ASP.net изменяет имя идентификатора в отображаемом файле HTML в некоторых контекстах, т. е. страница предназначена для главной страницы, а имя элемента управления будет ConetentPlaceholderName_controlID

Надеюсь, это устранит вопрос Удачи

0 голосов
/ 07 августа 2011

Все просто, установите определенное значение для этой метки (например, XXXXXXX) и запустите его, откройте HTML-источник вывода (в браузере) и найдите XXXXXXX, вы увидите что-то вроде <span id="mylabel">XXXXXX</span>, это то, что вы хотите, идентификатор <span> (я думаю, что обычно он совпадает с именем метки в коде asp), теперь вы можете получить его значение с помощью innerHTML или другого метода в JQuery

...