it-swarm.com.de

Holen Sie sich Text des Labels mit Jquery

Ich möchte eine sehr einfache Sache machen, aber ich bin kein Erfolg. Ich habe Button und Label auf meiner asp.net-Seite und ich möchte Text vom Label erhalten, nachdem ich auf den Button geklickt habe. Hier ist mein Code:

<%@ 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>

20
Rougher

versuche dies:

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

oder dieses:

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

du vermisst das #

fügen Sie dies im Kopfbereich hinzu: 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
30
kleinohad

Versuche dies

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

Versuchen Sie es mit der Funktion html ().

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

Außerdem fehlt das #, um eine ID zu erstellen, nach der Sie suchen. Ohne das # wird nach einem Tag-Typ gesucht.

3
beatgammit

Keine Lösung hier hat für mich funktioniert. Stattdessen habe ich dem Label eine Klasse hinzugefügt und konnte sie auf diese Weise auswählen.

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

$(".myLabel1Class").val()

Und, wie von anderen erwähnt, stellen Sie sicher, dass Sie Ihre jquery geladen haben.

1
DrCJones

Versuchen:

<%=this.Label1.Text%>
1
ANeme

try document.getElementById ('<% = Label1.ClientID%>'). text oder innerHTML ANDERE LADEN JQUERY SCRIPT UND setzen den Code so wie er ist.

1
Rajnikant

für die Zeile, die Sie geschrieben haben

var g = $ ('<% = Label1.ClientID%>'). val (); // Auch habe ich .text () und .html () versucht

sie haben das Hinzufügen von # verpasst. es sollte so sein

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

ich bevorzuge diese Methode auch nicht

dies ist der Fall, wenn Sie ein Steuerelement in einer Master- oder verschachtelten Masterseite aufrufen oder wenn Sie ein Steuerelement in einer Seite vom Master aufrufen. Steuert auch im Repeater. unabhängig von der MVC. Dies führt zu Problemen.

sie sollten IMMER die ID der Steuerung direkt anrufen. so was

$ ('# ControlID') 

das ist einfach und klar . aber vergessen sie nicht zu setzen 

ClientIDMode = "statisch" 

in Ihren Steuerelementen, um nach dem Rendern mit demselben ID-Namen zu bleiben. Das liegt daran, dass ASP.net in einigen Kontexten den ID-Namen in der HTML-gerenderten Datei ändert. Die Seite ist für die Masterseite. Der Name des Steuerelements lautet ConetentPlaceholderName_controlID 

Ich hoffe, es klärt die Frage. Viel Glück

0
Omar Kamel