Comment changer le texte d'une étiquette?

175

J'ai une liste de boutons radio et en cliquant sur le bouton radio, je dois changer le texte de son étiquette. Mais pour une raison quelconque, cela ne fonctionne pas. Le code est ci-dessous:

<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
la source
Je ne suis pas un gars d'ASP.NET mais je pense que l'identifiant généré pour le navigateur ne conserve pas l'identifiant que vous lui avez fourni côté serveur. Faites une vue source et collez le code correspondant ici.
Allain Lalonde

Réponses:

275

J'avais le même problème parce que j'utilisais

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

J'ai appris que vous pouvez soit utiliser la méthode jquery provisoire pour l'effacer d'abord, puis ajouter:

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

Ou par convention, vous pouvez utiliser:

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

OU

$("#LabelID").html("some value");
Chili
la source
J'applique la même chose mais ne fonctionne pas. J'ai utilisé des pages enfants. Comment j'écris dans les pages enfants. J'écris $('#contentPlaceHolderId_LabelID')ça ne marche pas. Je change également le ClientMode en Static mais aucun travail. Veuillez aider.
Salman Mushtaq
J'ai utilisé $('[id*=LabelID]').text("some value");parce que mon contrôle était le contrôle du serveur.
Ashi
45

Essaye ça:

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

Le id$=correspondra aux éléments qui se terminent par ce texte, ce qui permet à ASP.NET de générer automatiquement les ID. Vous pouvez le rendre plus sûr en utilisant, span[id=$=lblVessel]mais ce n'est généralement pas nécessaire.

Codesleuth
la source
15

essaye ça

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

Éraflure DCG
la source
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
la source
4

Je viens de traverser cela moi-même et j'ai trouvé la solution. Voir un contrôle serveur d'étiquettes ASP.NET est en fait redéfini comme une étendue (pas une entrée), donc l'utilisation de la propriété .val () pour obtenir / définir ne fonctionnera pas. Au lieu de cela, vous devez utiliser la propriété 'text' sur la plage en conjonction avec l'utilisation de la propriété .ClientID des contrôles. Le code suivant fonctionnera:

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

L'étiquette ASP.net sera rendue sous forme d'étendue dans le navigateur. donc l'utilisateur «html».

Vikas Kottari
la source
2

nous devons trouver l'étiquette d'étiquette pour la valeur d'attribut en fonction de cela. Nous avons remplacé le texte d'étiquette.

Scénario:

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

Vous voulez plus de détails .Cliquez ici

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