web-dev-qa-db-fra.com

Comment changer le texte d'une étiquette?

J'ai une liste de radiobutton et en cliquant sur l'élément du 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>
149
Amit

ASP.Net génère automatiquement des ID client uniques pour les contrôles côté serveur .

Le changer en

 $('#<%= lblVessel.ClientID %>')

Dans ASP.Net 4.0, vous pouvez également définir la propriété ClientIDMode sur Static à la place.

53
SLaks

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 provisoire Jquery pour la supprimer, puis ajouter:

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

Ou conventionnellement, vous pouvez utiliser:

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

OR

$("#LabelID").html("some value");
248
user1697483

Essaye ça:

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

Le id$= correspondra aux éléments qui se terminent par ce texte, c'est-à-dire la façon dont ASP.NET génère automatiquement les ID. Vous pouvez le rendre plus sûr en utilisant span[id=$=lblVessel] mais cela n'est généralement pas nécessaire.

44
Codesleuth

essaye ça

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

9
DCG Scuff
<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>
5
Sravan Kumar

Je viens de traverser moi-même et trouvé la solution. Voir un contrôle serveur d'étiquettes ASP.NET en fait est redéfini comme une étendue (et non comme une entrée), 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 conjointement avec l'utilisation de la propriété controls .ClientID. Le code suivant fonctionnera:

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

ASP.net Label sera affiché sous forme d'étendue dans le navigateur. donc l'utilisateur 'html'.

3
Vikas Kottari

nous devons trouver une étiquette pour la valeur de l'attribut en fonction de cela.nous devons remplacer le texte de l'é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

2
Tamilan
   lable value $('#lablel_id').html(value);
0
suraj khot