Jak zmienić tekst etykiety?

175

Mam listę radiobuttonów i po kliknięciu na przycisk opcji muszę zmienić tekst jego etykiety. Ale z jakiegoś powodu to nie działa. Kod poniżej:

<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
źródło
Nie jestem facetem od ASP.NET, ale myślę, że identyfikator wygenerowany dla przeglądarki nie zachowuje identyfikatora podanego dla niego po stronie serwera. Wyświetl źródło i wklej tutaj odpowiedni kod.
Allain Lalonde

Odpowiedzi:

275

Miałem ten sam problem, ponieważ używałem

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

Dowiedziałem się, że możesz użyć tymczasowej metody jQuery, aby najpierw ją wyczyścić, a następnie dołączyć:

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

Lub konwencjonalnie, możesz użyć:

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

LUB

$("#LabelID").html("some value");
Chilli
źródło
Stosuję to samo, ale nie działa. Użyłem stron podrzędnych. Jak piszę na stronach podrzędnych. Piszę, $('#contentPlaceHolderId_LabelID')że to nie działa. Zmieniam też ClientMode na Static, ale nie działa. Proszę pomóż.
Salman Mushtaq
Użyłem, $('[id*=LabelID]').text("some value");ponieważ moją kontrolą była kontrola serwera.
Ashi
45

Spróbuj tego:

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

id$=Dopasuje elementy, które kończą się tym tekstem, który jest jak ASP.NET automatycznie generuje identyfikatory. Możesz uczynić go bezpieczniejszym, span[id=$=lblVessel]ale zwykle nie jest to konieczne.

Codesleuth
źródło
15

Spróbuj tego

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

DCG Scuff
źródło
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
źródło
4

Po prostu przeszedłem przez to sam i znalazłem rozwiązanie. Zobacz, że formant serwera etykiet ASP.NET jest w rzeczywistości przetwarzany jako zakres (a nie dane wejściowe), więc użycie właściwości .val () do get / set nie będzie działać. Zamiast tego należy użyć właściwości „text” w zakresie w połączeniu z użyciem właściwości controls .ClientID. Poniższy kod zadziała:

$("#<%=lblVessel.ClientID %>").text('NewText');
atconway
źródło
3
$('#<%= lblVessel.ClientID %>').html('New Text');

Etykieta ASP.net zostanie wyświetlona jako zakres w przeglądarce. więc użytkownik „html”.

Vikas Kottari
źródło
2

musimy na tej podstawie znaleźć znacznik etykiety dla wartości atrybutu. mamy zamianę tekstu etykiety.

Scenariusz:

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

Chcesz uzyskać więcej informacji. Kliknij tutaj

Tamilan
źródło
1
   lable value $('#lablel_id').html(value);
suraj khot
źródło