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>
Amit
quelle
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");
Chili
quelle
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.

Codesleuth
quelle
15

Versuche dies

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

DCG Scuff
quelle
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>
Sravan Kumar
quelle
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');
atconway
quelle
3
$('#<%= lblVessel.ClientID %>').html('New Text');

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

Vikas Kottari
quelle
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

Tamilan
quelle
1
   lable value $('#lablel_id').html(value);
suraj khot
quelle