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

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");

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.


15

prueba esto

$("label").html(your value); o $("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

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');

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

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


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í


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.