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

jQuery Discussion :

Tooltip : Afficher un infobulle avec une présentation personnalisée sur une case à cocher grisée. [UI]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Tooltip : Afficher un infobulle avec une présentation personnalisée sur une case à cocher grisée.
    Bonjour tout le monde,

    Je suis actuellement entrain de faire un formulaire pour mon travail et j'utilise ToolTip afin d'afficher des infoBulles avec une présentation personnalisée.
    Mon problème : Lorsque je souhaite afficher une infoBulle sur une case à cocher qui est grisé, la présentation n'est pas prise en compte

    Donc je me demande si ce que je veux faire est possible ? Si oui, qu'elle la manière de le faire s'il vous plaît ?

    Voici mon
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class="block_caseCocher">
     <input name="input_caseCocher" checked="true" title="Info-Bulle - Tester." disabled="disabled" type="checkbox">
     <label class="label_caseCocher">Tester</label>
    </div>

    Voici mon code Jquery tooltip :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $("div.block_caseCocher input[name=input_caseCocher[title]").tooltip({ 
    	position: 
           { 
    	        my: 'center bottom', 
    		at: 'right top-10'
    	}
    });
    $("div.block_caseCocher input[name=input_caseCocher[title]").tooltip('option', 'tooltipClass', "top");
    Merci par avance.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 542
    Par défaut
    ce selcteur n'est pas correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("div.block_caseCocher input[name=input_caseCocher[title]")
    tu cherches à cibler l'input :name="input_caseCocher", le selecteur doit être écrit ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("div.block_caseCocher input[name=input_caseCocher]")

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut
    En effet, j'ai fait une faute de frappe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $("div.block_caseCocher input[name=input_caseCocher]").tooltip({ 
    	position: 
           { 
    	        my: 'center bottom', 
    		at: 'right top-10'
    	}
    });
    $("div.block_caseCocher input[name=input_caseCocher]").tooltip('option', 'tooltipClass', "top");
    Mais cela ne résous en rien mon problème.

    Si je modifie le HTML de la sorte tout en gardant le jquery ci-dessus :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="block_caseCocher">
    <!-- J'ai retiré le "disabled=disabled" -->
     <input name="input_caseCocher" checked="true" title="Info-Bulle - Tester." type="checkbox">
     <label class="label_caseCocher">Tester</label>
    </div>
    Cela fonctionne parfaitement.

    Par contre si dans le HTML je met ma checkbox avec 'disabled="disabled"', cela ne fonctionne plus!!
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class="block_caseCocher">
     <input name="input_caseCocher" checked="true" title="Info-Bulle - Tester." type="checkbox" disabled="disabled">
     <label class="label_caseCocher">Tester</label>
    </div>

    Merci par avance.

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 542
    Par défaut
    apparaimment l'info bull n'est jamais lancé sur un élément disabled.
    une solution consiste a ne pas utiliser la propriété disabled, et utiliser la propriété opacity.
    tout d'abord au niveau du css tu ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .block_caseCocher input[name="input_caseCocher"] {
      opacity:.5;
    }
    puis on gère le clique selon la propriété opacity de l'input : (tu peux interdire le clique sur l'input si l'opacité est < 1 ...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $('input[name="input_caseCocher"]').click(function(){
    	$(this).css('opacity')<1
      	?$(this).css('opacity',1)
        :$(this).css('opacity','.5');
    });

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut
    Bonjour,

    En effet avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .block_caseCocher input[name="input_caseCocher"] {
      opacity:.5;
    }
    Cela grise bien la case à cocher.

    Ensuite en jquery, pour interdire le clique, j'ai fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $('input[name="input_caseCocher"]').click(function(){
    		if($(this).css('opacity')<1) {
    			$(this).prop('checked', true);
    			$(this).off();
    		} else {
    			$('p').show();
    		}
    	});
    Le problème est le suivant :
    je clique une première fois sur la case à cocher => cela se passe bien c'est à dire que la case reste cochée et grisé.
    Je clique une deuxième fois sur la case à cocher => la case se décoche.... Cela ne repasse pas à nouveau dans l'événement du click.

    Je vois vraiment pas pourquoi cela bloque!!

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 542
    Par défaut
    bonjour,
    1- ce que je voulais dire par 'INTERDIRE LE CLIQUE', c'est de ne pas permettre a l'utilisateur de cliquer sur un input qui est désactivé.
    est ce que dans ton cas l'utilisateur peut cliquer sur l'élément input[name='input_caseCocher'] même si'il est désactivé?
    2- $("#id_element").off() est une fonction qui annule tout les événement relatifs a #id_element (clique, mouseenter, mouseover...), enlève là du block else pour garder l’événement clique sur l'input[name='input_caseCocher'].

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

Discussions similaires

  1. [AC-2010] Simuler un clic sur une page web sur une image javascript
    Par alex en droit dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/04/2012, 14h22
  2. Imprimer sur une page web sur une imprimante spécifique
    Par bleuerouge dans le forum Windows Forms
    Réponses: 0
    Dernier message: 07/12/2009, 10h51
  3. Pb sur une requête DELETE sur une chaine
    Par astrolane dans le forum Sybase
    Réponses: 4
    Dernier message: 16/02/2009, 10h11
  4. Réponses: 3
    Dernier message: 25/10/2007, 12h47
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 22h24

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