Wie ändere ich den Text eines Etiketts?


175

Ich habe eine Radiobutton-Liste und beim Klicken auf das Optionsfeld muss ich den Text der Beschriftung ändern. Aber aus irgendeinem Grund funktioniert es nicht. Code ist unten:

<asp:Label ID="lblVessel" Text="Vessel:" runat="server"></asp:Label>

<script language="javascript">
  $(document).ready(function() {

    $('#rblDiv input').click(function() {
      var selected = $("#rblDiv input:radio:checked").val();
      if (selected == "exportpack") {
        $('#lblVessel').text("NewText");
      }
    });
  });
</script>

Ich bin kein ASP.NET-Typ, aber ich denke, die für den Browser generierte ID behält nicht die ID bei, die Sie auf der Serverseite dafür angegeben haben. Machen Sie eine Ansichtsquelle und fügen Sie hier den entsprechenden Code ein.
Allain Lalonde

Antworten:



275

Ich hatte das gleiche Problem, weil ich verwendet habe

$("#LabelID").val("some value");

Ich habe erfahren, dass Sie entweder die vorläufige jquery-Methode verwenden können, um sie zuerst zu löschen, und dann Folgendes anhängen:

$("#LabelID").empty();
$("#LabelID").append("some Text");

Oder konventionell könnten Sie verwenden:

$("#LabelID").text("some value");

ODER

$("#LabelID").html("some value");

Ich bewerbe mich gleich, arbeite aber nicht. Ich habe Kinderseiten verwendet. Wie ich auf untergeordneten Seiten schreibe. Ich schreibe $('#contentPlaceHolderId_LabelID')es funktioniert nicht. Ich ändere auch den ClientMode in Statisch, aber keine Arbeit. Bitte helfen Sie.
Salman Mushtaq

Ich habe verwendet, $('[id*=LabelID]').text("some value");weil meine Kontrolle die Serverkontrolle war.
Ashi

45

Versuche dies:

$('[id$=lblVessel]').text("NewText");

Das entspricht id$=den Elementen, die mit diesem Text enden. Auf diese Weise generiert ASP.NET automatisch IDs. Sie können es sicherer machen, span[id=$=lblVessel]aber normalerweise ist dies nicht notwendig.


15

Versuche dies

$("label").html(your value); oder $("label").text(your value);


5
<asp:RadioButtonList ID="rbtnType" runat="server">
    <asp:ListItem Value="C">Co</asp:ListItem>
    <asp:ListItem Value="I">In</asp:ListItem>
    <asp:ListItem Value="O">Out</asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:Label ID="lblLabelName" runat="server"></asp:Label>
<script type="text/javascript">
    $(document).ready(function() {
        $("#<%=rbtnType.ClientID%>").change(function() {
            var rbvalue = $("input[@name=<%=rbtnType.ClientID%>]:radio:checked").val();
            if (rbvalue == "C") {
                $('#<%=lblLabelName.ClientID %>').html('text1');
            } else if (rbvalue == "I") {
                $('#<%=lblLabelName.ClientID %>').html('else text2');
            } else if (rbvalue == "O") {
                $('#<%=lblLabelName.ClientID %>').html('or elsethistext');
            }
        });
    });
</script>

4

Ich habe das einfach selbst durchgesehen und die Lösung gefunden. Ein ASP.NET-Label-Server-Steuerelement wird tatsächlich als Bereich (keine Eingabe) erneut angezeigt, sodass die Verwendung der Eigenschaft .val () zum Abrufen / Festlegen nicht funktioniert. Stattdessen müssen Sie die Eigenschaft 'text' für den Bereich in Verbindung mit der Verwendung der Eigenschaft .ClientID des Steuerelements verwenden. Der folgende Code funktioniert:

$("#<%=lblVessel.ClientID %>").text('NewText');

3
$('#<%= lblVessel.ClientID %>').html('New Text');

ASP.net Label wird im Browser als Bereich gerendert. also Benutzer 'html'.


2

Wir müssen das Label-Tag für den Attributwert basierend darauf finden. Wir haben den Label-Text ersetzt.

Skript:

<script type="text/javascript">
$(document).ready(function() 
{ 
$("label[for*='test']").html("others");
});

</script>

Html

<label for="test_992918d5-a2f4-4962-b644-bd7294cbf2e6_FillInButton">others</label>

Sie möchten mehr Details. Klicken Sie hier


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.