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>
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.
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");
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.
essaye ça
$("label").html(your value);
ou $("label").text(your value);
<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>
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');
$('#<%= lblVessel.ClientID %>').html('New Text');
ASP.net Label sera affiché sous forme d'étendue dans le navigateur. donc l'utilisateur 'html'.
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>
lable value $('#lablel_id').html(value);