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 :

hide options d'un select sous ie


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut hide options d'un select sous ie
    Petite question bête

    J'ai une petite fonction js qui me cache certains options dans un select en fonction d'un autre champ option.

    Sous Firefox pas de soucis (comme d'ab )
    sous IE il veut rien savoir.

    J'ai cru comprendre, en recherchant sur google que ie ne sait pas cacher les éléments d'un select.

    Pourriez vous me dire si il existe quelque chose qui s'en approche ou peut être utilisé a la place please

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Faut pas y aller en douceur ...
    pour IE c'est à la manière forte !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <select id="foo">
    	<option>1</option>
    	<option>2</option>
    	<option>3</option>
    	<option>4</option>
    	<option>5</option>
    	<option>6</option>
    	<option>7</option>
    	<option>8</option>
    </select>
    <script type='text/javascript'>
    document.getElementById('foo').removeChild(document.getElementById('foo').getElementsByTagName('option')[2])
    </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Le code javascript se trouve dans un fichier .js a part

    Voici la partie qui m'embete (vilaine va lol)

    J'ai essaye le remouvechild mail il me dit que l'objet ne le gere pas :-~

    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
     
    //Concerne le filtrage et l'affichage des 3 selects pour la région
    	function filtreregion2(){
    		var region1=$('#region1 option:selected').attr('id');
     
    		$('#region2 option').each(function(index) {
    		    if($(this).attr('name')==region1){ $(this).show();}else{$(this).hide();}
    		});
    		$('#region2 option[name='+region1+']').attr('selected','selected');
     
    	}
    	function filtreregion3(){
    		var region2=$('#region2 option:selected').attr('id');
    		$('#region3 option').each(function(index) {
    		    if($(this).attr('name')==region2){ $(this).show();}else{$(this).hide();}
    		});
    		$('#region3 option[name='+region2+']').attr('option:selected','option:selected');
    		nb2=$('#region3 option[name='+region2+']').length;
    		if (nb2==0) {$('#region3').hide();}else{$('#region3').show();}
     
     
    	}		
    	filtreregion2();
    	filtreregion3();
     
    	$('#region1').change(function(evt){
    		filtreregion2();
    		filtreregion3();

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    je ne vois pas ta tentative de removeChild ???
    et en jquery c'est remove()

    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
    <script type='text/javascript'>
    $( function(){
    $('#foo option:eq(2)').remove()
    })
    </script>
    </head>
    <body>
    <select id="foo">
    	<option>1</option>
    	<option>2</option>
    	<option>3</option>
    	<option>4</option>
    	<option>5</option>
    	<option>6</option>
    	<option>7</option>
    	<option>8</option>
    </select>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Avec remove() cela marche bien pour la partie cacher .

    Le probleme c'est que si l'user selectionne une autre option a qui il devrait correspondre a cette nouvelle option, comme le remove a tout suppré sa me mets une liste vide systematiquement.

    Comment pourrai-je les recuperer?

    Sorry d'avance mais je triche pas tu vous C'est anoncé dans ma& signature lol je suis le specialiste des questions betes ^^

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Donc du coup faut pas faire un remove()
    il faut le stocker temporairement ailleurs

    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
    <script type='text/javascript'>
    $( function(){
    $('body').append( $('<select/>').attr('id','tempsel').css('display','none'))
    $("#rem").click(function(){
      ind=$("#optindex").val()
      $('#tempsel').append( $('#foo').find('option[value="'+ind+'"]') )
    })
     
    $("#add").click(function(){
      ind=$("#optindex").val()
      $('#foo').append( $('#tempsel').find('option[value="'+ind+'"]') )
    })
     
    })
    </script>
    </head>
    <body>
     
    <select id="foo">
    	<option value="1">1</option>
    	<option value="2">2</option>
    	<option value="3">3</option>
    	<option value="4">4</option>
    	<option value="5">5</option>
    	<option value="6">6</option>
    	<option value="7">7</option>
    	<option value="8">8</option>
    </select>
     
    <input type="button" value="remove" id="rem" />
    <input type="button" value="add"  id="add" /> 
    <input type="text" value="" id="optindex" />
    </html>
    ici la selection s'opère sur le value et je ne gère pas la position dans le select
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/11/2011, 10h54
  2. [DOM] Ajout d'option dans un select : sous IE6
    Par ShadowSama dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/03/2009, 22h00
  3. Masquer les options d'un select sous IE7
    Par wulfeir dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 09/09/2008, 14h42
  4. Sélectionner toutes les options d'un select sous IE
    Par jeanbabi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2008, 11h41
  5. Supprimer une option d'un select à choix multiple
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2005, 14h16

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