2010-02-18 6 views
1

J'ai un bouton bascule, avec une fonction show/hide en javascript. Comment changer le texte quand on clique sur le bouton?Comment changer le texte du bouton Cliquez sur MVC?

<button id="ShowHide">Show</button> 
+0

Une bibliothèque particulière? jQuery, Prototype, autre chose, ou tout simplement JS? –

+0

jQuery. Mettre à jour l'alerte !!! – MrM

+2

C'est un 'id' invalide. – SLaks

Répondre

5

En utilisant jQuery:

$('#ShowHide').toggle(
    function() { 
     $(this).text("Show"); 
     $('whatever').show(); 
    }, 
    function() { 
     $(this).text("Hide"); 
     $('whatever').hide(); 
    } 
); 
+0

Fait et mise à jour ... J'aurais dû donner plus d'informations. Vous ne savez pas quel "0" est – MrM

+0

'' quelquechose '' est un sélecteur jQuery pour le ou les éléments que vous voulez cacher. http://api.jquery.com/category/selectors/ – SLaks

0

Vous devez utiliser Javascript. Soit le code de la nouvelle valeur dans le Javascript ou utiliser AJAX pour rappeler le serveur et obtenir la nouvelle valeur.

Si vous allez juste coder en dur la valeur dans votre Javascript ... jQuery fait un clin d'oeil:

('#yourButton').click(function(){ 
    (this).text('Hello click!'); 
}); 
1

Vous pouvez utiliser this jquery faire le changement.

$("#buttonName").val("New text for button"); 

JQuery est automatiquement inclus dans votre projet ASP.NET MVC.

0

En pur HTML/JS:

<input type="button" id="show_hide" onclick="this.value=(this.value=='Show')?('Hide'):('Show')" value="Show" /> 
+0

Oups, juste vu la mise à jour demandant jQuery. Peut-être que cela sera utile à quelqu'un d'autre. – Dolph

0
$('#HideShow').click(function() 
{ 
    if ($(this).text() == "Show") 
    { 
    $(this).text("Hide"); 
    } 
    else 
    { 
    $(this).text("Show"); 
    }; 
}); 

EDIT: Mise à jour pour utiliser la nouvelle carte d'identité valide qui devrait être plus rapide :) crampe du cerveau: ne me souviens pas si elle est .val() ou .text() sur le bouton » "tag par opposition à l'étiquette <input type="button">, pas le temps de tester atm mais vous avez l'idée (et je pense que je l'ai bien :)). En variante, la fonctionnalité .toggle() a une fonctionnalité .toggle(even,odd);.

$('#HideShow').toggle(function() 
    { 
    $(this).text("Hide"); 
    }, 
    function() 
    { 
    $(this).text("Show"); 
    } 
); 
Questions connexes