IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Interdire la selection mutliple.


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 193
    Points
    193
    Par défaut Interdire la selection mutliple.
    Bonjour.

    je possède une image avec dessus des zones réactives sur lesquelles on peux cliquer afin de faire une selection de la zone cliquée.

    Cependant on peux faire une selection multiple.

    J'aimerais bloquer cela et permettre une unique sélection.
    Comment faire cela?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    $(document).ready(function()
    	{
    		// Disable various aspects of passenger details table
    		$('#passenger_details input, #passenger_details select').attr('disabled', 'disabled');
     
    		// Add class="selected" to tab + tbody
    		$('#tabs a:first, #passenger_details tbody:first').addClass('selected');
     
    		// Get the value of the tab link, and display tbody
    		$('#tabs a').click(function()
    			{
    				// Switch class="selected" for tabs
    				$('#tabs a').removeClass('selected');
    				$(this).addClass('selected');
     
    				// Asign value of the link target
    				var thisTarget = $(this).attr('href');
     
    				// Show target tbody and hide others
    				$('#passenger_details tbody').removeClass('selected');
    				$(thisTarget).addClass('selected');
    				this.blur();
    				return false;
    			}
    		);
    ou alors c'est ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    // Add click listener to seats
    		$('#airplane a').click(function()
    			{
    				// Asign value of the link target
    				var thisTarget = $(this).attr('href');
     
    				// Show target tbody and hide others
    				$('#passenger_details tbody').removeClass('selected');
    				$(thisTarget).addClass('selected');
     
    				// Swap out class="selected" for tab
    				$('#tabs a').removeClass('selected');
    				$('#tabs a[@href='+thisTarget+']').addClass('selected');
     
    				// Assign the value of the parent <li class="*">
    				var thisSeat = $(this).parent('li').attr('class');
     
    				// Compare parent <li class="*"> against
    				// <tr> in <table id="passenger_details">
    				var thisRow = $('#passenger_details tr');
    				for (var i = 0, j = thisRow.length; i < j; i++)
    				{
    					if (thisSeat == thisRow[i].className)
    					{
    						// Add class="selected" to row
    						$(thisRow[i]).addClass('selected');
     
    						// Enable inputs and selects so that they can be used
    						$(thisRow[i]).children('td').children('input, select').removeAttr('disabled');
    					}
    					else if (thisSeat + ' selected' == thisRow[i].className)
    					{
    						// Remove class="selected" from row
    						$(thisRow[i]).removeClass('selected');
     
    						// Disable inputs and selects that aren't being used
    						$(thisRow[i]).children('td').children('input').attr('disabled', 'disabled').val('');
    						$(thisRow[i]).children('td').children('select').each(function()
    							{
    								this.disabled = true;
    								this.selectedIndex = 0;
    							}
    						);
    					}
    				}
     
    				// Toggle selected class on/off
    				$(this).toggleClass('selected');
    				this.blur();
    				return false;
    			}
    		);
    Merci par avance.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    ajoute une variable de type booléan :

    dès la première sélection tu l'actives, puis au moment de faire une deuxiemme sélection tu vérifis le booléan

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Une autre solution :
    Lors de la sélection, tu commences par désélectionner toutes tes zones, puis tu applique la sélection.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 193
    Points
    193
    Par défaut
    Je vais tester cela.

    Désolé je suis nul en javascript

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/04/2011, 12h47
  2. Interdire la selection dans un TlistView
    Par scarlaty dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/03/2008, 09h48
  3. interdir un selection des cellules StringGrid
    Par fomazou dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/12/2006, 13h19
  4. interdire une selection dans une liste selon valeur
    Par polianita dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2006, 17h19
  5. [VBA-E]Interdire la selection de cellule dans une feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/03/2006, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo