12
votes

Comment définir du texte sur l'étiquetage avec jQuery?

Je veux définir du texte sur étiqueter avec jQuery après avoir cliqué sur le bouton. J'ai écrit du code et cela fonctionne, mais après avoir défini du texte dans mon label, étiquette renvoie son ancien état. Voici mon code:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="DynamicWebApplication.WebForm2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">
        <title></title>

        <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            function f() 
            {
                $('#<%=Label1.ClientID%>').html("hello");  
            }
        </script>
    </head>

    <body>
        <form id="form1" runat="server">
            <div>
                <asp:Label ID="Label1" runat="server"></asp:Label>
                <p></p>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="f();"/>
            </div>
        </form>
    </body>

</html>


0 commentaires

5 Réponses :


2
votes

Vous pouvez utiliser la méthode texte pour définir le texte xxx


3 commentaires

Votre page post-elle sur le bouton Server sur le bouton Cliquez?


Dans ce cas, vous devriez renvoyer false de la fonction pour arrêter la page à soumettre.


Non, vous pouvez voir tout mon code. Je n'ai rien écrit dans le fichier .CSS



28
votes

Si votre bouton provoque un post-pack, les modifications seront perdues après la recharge de la page. Essayez ceci - xxx


5 commentaires

Quel comportement voyez-vous? Est-ce que l'étiquette change alors la page actualisée et le changement est parti?


Les changements d'étiquette et le changement est parti sans rafraîchir.


Désolé, tu as raison. L'étiquette change alors la page actualisée et le changement a disparu


Si vous changez 'OnClientClick = "F ();"' être "oneClientClick =" f (); renvoyer faux; "'Est-ce que cela fait de la différence? Avez-vous d'autres fonctions JQuery liées à la page?


Oui - ça arrête la page en train de poser. Votre code JQuery mettait la mise à jour de l'étiquette, mais en cliquant sur le bouton, la page post la liste des données de formulaire à lui-même afin que votre changement de jQuery ait été perdu.



2
votes

Les étiquettes ne maintiennent pas la vieilleté. Le serveur ne postera pas ces informations sur le serveur. Vous pouvez essayer explicitement permettre la visualisation de votre étiquette, mais si cela ne fonctionne pas, vous devrez stocker cette valeur dans un champ masqué.

<asp:Label ID="Label1" runat="server" EnableViewState="true"></asp:Label>


4 commentaires

Pas clair, qu'est-ce que c'est pour stocker cette valeur dans un champ caché. Pouvez-vous écrire du code?


J'ai déjà trouvé une solution. 'OnclientClick = "f ();"' être "oneClientClick =" f (); renvoyer false;


Ou en utilisant la textbox Control Readonly?


activerviewstate = "vrai" ne fonctionne pas



1
votes
 <asp:Button ID="Button1" runat="server" Text="Button" />

$(document).ready(function(){
  $('#<%=Button1.ClientID%>').click(function(){
    $('#<%=Label1.ClientID%>').html("hello");
    return false; 
   });
});

0 commentaires

2
votes

Je voudrais utiliser ceci, xxx


0 commentaires