¿Cómo cambiar el texto de una etiqueta?

175

Tengo una lista de botones de radio y al hacer clic en el elemento del botón de radio tengo que cambiar el texto de su etiqueta. Pero por alguna razón no está funcionando. El código está abajo:

<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
fuente
No soy un chico de ASP.NET, pero creo que la identificación generada para el navegador no retiene la ID que le proporcionaste en el lado del servidor. Haga una vista de la fuente y pegue el código relevante aquí.
Allain Lalonde

Respuestas:

275

Estaba teniendo el mismo problema porque estaba usando

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

Aprendí que puedes usar el método jquery provisional para borrarlo primero y luego agregar:

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

O convencionalmente, podría usar:

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

O

$("#LabelID").html("some value");
Chile
fuente
Lo aplico igual pero no funciona. Usé páginas infantiles. Cómo escribo en páginas secundarias. Lo escribo $('#contentPlaceHolderId_LabelID')no funciona. También cambio th ClientMode a Static pero no funciona. Por favor ayuda.
Salman Mushtaq
Solía $('[id*=LabelID]').text("some value");porque mi control era el control del servidor.
Ashi
45

Prueba esto:

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

El id$=coincidirá con los elementos que terminan con ese texto, que es como ASP.NET genera automáticamente documentos de identidad. Puede hacerlo más seguro usando, span[id=$=lblVessel]pero generalmente esto no es necesario.

Codesleuth
fuente
15

prueba esto

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

DCG Scuff
fuente
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
fuente
4

Acabo de pasar por esto yo mismo y encontré la solución. Ver un control de servidor de etiquetas ASP.NET en realidad se procesa como un intervalo (no como una entrada), por lo que usar la propiedad .val () para obtener / establecer no funcionará. En su lugar, debe usar la propiedad 'text' en el lapso junto con el uso de los controles .ClientID propiedad. El siguiente código funcionará:

$("#<%=lblVessel.ClientID %>").text('NewText');
atconway
fuente
3
$('#<%= lblVessel.ClientID %>').html('New Text');

La etiqueta ASP.net se representará como un espacio en el navegador. así que el usuario 'html'.

Vikas Kottari
fuente
2

Tenemos que encontrar la etiqueta para el valor del atributo basado en eso. Hemos reemplazado el texto de la etiqueta.

Guión:

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

Desea más detalles. Haga clic aquí

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