2011-12-09 3 views
0

J'ai une grille de boutons où si l'utilisateur clique sur un bouton, la valeur du bouton va dans la zone de texte en lecture seule. Ce que je veux que je ne peux pas travailler, c'est que je veux que le bouton sélectionné de la grille passe au vert et tous les autres boutons non sélectionnés pour rester la même couleur que c'est. La raison en est que si l'utilisateur ouvre la grille à tout moment, il peut voir le bouton actuellement sélectionné par le changement de couleur sur le bouton. Si un autre bouton est sélectionné, le bouton sélectionné précédemment devient blanc et le nouveau bouton sélectionné devient vert.Comment changer la couleur d'un bouton lorsque le bouton est sélectionné?

Est-ce que quelqu'un sait comment faire cela?

mon code actuel est dans jsfiddle. cliquez sur here

Merci

+1

La façon "correcte" de le faire serait d'utiliser les boutons radio , parce que (contrairement aux boutons du régulateur) ils sont conçus pour mettre en évidence celui actuellement sélectionné. – RoToRa

+0

Salut, merci à tous pour vos réponses, toutes ces réponses pourraient fonctionner dans mon application. Je suis allé pour la réponse buddhabrot parce que c'est juste en ajoutant deux lignes de code, mais toute réponse aurait fonctionné pour mon application, merci à tous – BruceyBandit

Répondre

0

tout d'abord utiliser l'abonnement jQuery aux événements.

$(function() { 
    $('#showGrid').click(function(e) { 
     if ($('#optionTypeTbl').css("display") == "table") { 
      $('#optionTypeTbl').hide(); 
     } 
     else { 
      $('#optionTypeTbl').css("display", "table"); 
     } 
     e.stopPropagation(); 
    }); 

    $("body").click(function() { 
     $('#optionTypeTbl').hide(); 
    }); 

    $('#optionTypeTbl input').click(function() { 

     // update value 
     $('.box INPUT').val($(this).val()) 
     $('#optionTypeTbl').hide(); 

     // update ui class 
     $('#optionTypeTbl input.gridBtnsOn').removeClass('gridBtnsOn').addClass('gridBtnsOff'); 
     $(this).addClass('gridBtnsOn'); 
    }); 

}); 

code: http://jsfiddle.net/Ksh59/13/

P.S J'ai des styles de changer un peu.

1

Vous pouvez le faire comme je l'ai fait dans ce violon http://jsfiddle.net/nicolapeluchetti/Ksh59/6/

function buttonclick(button) 
{ 

    $('input:button').css('background-color', 'transparent'); 
    $(button).css('background-color', 'green'); 
    if (button.className=="gridBtnsOn") 
    { 
     button.className="gridBtnsOff"; 
     return false; 
    } 

    if (button.className=="gridBtnsOff") 
    { 
     button.className="gridBtnsOn"; 
     return false; 
    } 
} 
Questions connexes