2010-08-27 45 views
117

Tengo una lista de botones de radio y al hacer clic en el elemento de botón de radio tengo que cambiar el texto de su etiqueta. Pero por alguna razón no está funcionando. Código es el siguiente:¿Cómo cambiar el texto de una etiqueta en jQuery?

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

favor avise

+0

No soy un ASP.Tipo de red, pero creo que la ID generada para el navegador no conserva la ID que proporcionó para el servidor. Haga una vista de origen y pegue el código correspondiente aquí. –

Respuesta

36

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.

4

Acabo de pasar por esto y encontré la solución. Consulte un control de servidor de etiquetas ASP.NET en realidad se clasifica como un lapso (no como una entrada), por lo tanto, no será posible utilizar la propiedad .val() para obtener/establecer. En su lugar, debe usar la propiedad 'texto' en el tramo junto con el uso de la propiedad .ClientID de los controles. El siguiente código funcionará:

$("#<%=lblVessel.ClientID %>").text('NewText'); 
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> 
183

que estaba teniendo el mismo problema porque yo estaba usando

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

aprendí que se puede utilizar el método de jQuery provisional para desactivarla primero y luego añada :

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

O conventionaly, se puede utilizar:

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

O

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

Lo aplico igual pero no funciona. Usé páginas de niños. Cómo escribo en páginas secundarias. Escribo '$ ('# contentPlaceHolderId_LabelID')' no funciona. También cambio el ClientMode a Static pero no funciona. Por favor ayuda. –

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

ASP.net etiqueta será mostrado como un lapso en el navegador. por lo que el usuario 'html'.

2

tenemos que encontrar la etiqueta de etiqueta para el valor del atributo en función de eso.tenemos reemplazar 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> 

You want to more details .Click Here

0

prueba este

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

Cuestiones relacionadas