begin process at 2012 05 29 14:02:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Atlas

 > 

mise a jour de listes deroulantes lorsque on a choisit un type


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mise a jour de listes deroulantes lorsque on a choisit un type

mardi 16 janvier 2007 à 16:21:43 | mise a jour de listes deroulantes lorsque on a choisit un type

eclipse012

bonjour a toutes a a tous !!

j'ai besoin d'aide concerant la mise a jour de listes deroulantes avec javascript

voila,

je gere un systeme de gestion de types de documents

et dans mon systeme j'ai une page "affichage par type.php " dans laquelle on selectionne un type, on selectionne les colonnes que l'on veut afficher et on valide pour voir les documents du type selectionné:

voici mes listes deroulantes de choix de colonne

[IMG]http://i7.photobucket.com/albums/y280/babli1223/Sanstitre-2.jpg[/IMG]

en fait j'ai une page qui me permet d'editer les proprietes d'un type de document et dans cette page j'ai remis la meme liste deorulante pour avoir le nom des colonnes affichees par default; donc j'aimerai bien que dans la page affichage par type , des que j'ai selectionné le type , les listes deroulantes se mettent a jour avec les valeurs par default specifiees

 

je cree la liste comme ca

[code]

<?php for($i=1;$i<=6;$i++) {

$cur_col = $i-1;

?>

<li>

<select name="c2<?php echo $i ?>" id="c2<?php echo $i ?>" style="font-size:9px ">

<option style="font-style:italic; color:#999999 " value="none">Vide</option>

<option value="code_doc" <?php if ($code_affichage[$cur_col]=="code_doc") echo "selected";?> >Codification</option>

<option value="libelle_doc" <?php if ($code_affichage[$cur_col]=="libelle_doc") echo "selected";?> >Titre</option>

<option value="nom_auteur" <?php if ($code_affichage[$cur_col]=="nom_auteur") echo "selected";?> >Auteur</option>

<option value="nom_verificateur" <?php if ($code_affichage[$cur_col]=="nom_verificateur") echo "selected";?> >Vérificateur</option>

<option value="nom_approbateur" <?php if ($code_affichage[$cur_col]=="nom_approbateur") echo "selected";?> >Approbateur</option>

<option value="datecrea_doc" <?php if ($code_affichage[$cur_col]=="datecrea_doc") echo "selected";?> >Date de Diffusion</option>

</select>

</li>

<?php } ?>

</ol>

 

[/code]

et je passe le contenu en post

 

[code]

$code_affichage= $_POST['c21'].'#'.$_POST['c22'].'#'.$_POST['c23'].'#'.$_POST['c24'].'#'.$_POST['c25'].'#'.$_POST['c26'];

[/code]

a ma table dans la base de données et je recupere les donnees en faisant un explode sur le # pour recuperer un tableau

merci pour votre aide  et de me guider a resoudre ce "probleme"

mardi 16 janvier 2007 à 19:47:28 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

ralecul

Bonjour,

J'ai développé quelques fonctions pour ajouter ou retirer des options à un select en javascript :

//permet d'ajouter une option à un select (si une option existe déjà à cette position ->remplacement de l'existante)
//si il n'y a aucune option ajout de l'option en première position
function addOption(object,text,value,selected,position)
{
    var defaultSelected = false;
    var optionName = new Option(text, value, defaultSelected, selected)
    if (object.options.length)
        object.options[position] = optionName;
    else
        object.option = optionName;
}

//permet de supprimer une option au début ou à la fin
//mode = "head" : suppresion au début
//mode = "foot" : suppression à la fin
function removeOption(object, mode)
{
    if (mode == "head")
    {
        if (object.options.length)
            object.options[0] = null;
        else
            object.options = null;
    }
    else //mode == foot
    {
        var longueur = object.options.length;
        if (longueur)
            object.options[longueur-1] = null;
        else
            object.options = null;
    }
}

Il suffit de faire une requete ajax sur le onchange du select et le resultat de la requete doit permetre d'ajouter ou de retirer des options a un autre select.
Un exemple complet est disponible sur le site de robloche : http://robloche.free.fr/javascript/tuto_xhr/tuto_xhr.html

Henri

mercredi 17 janvier 2007 à 09:05:35 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

eclipse012

tout d'abord un grand merci d'avoir pris le temlps de repondre M.henri

en fait je ne m'y connais pas en ajax, et en fait c'est vrai que c'est bien mieux de pouvoir ajouter ou supprimer des colonnes select mais dans le cas de mon application , je prefere les garder , donc en fait j'ia toujours mes 6 listes deroulantes mais si par exemple dans le parametrage des types j'ai choisi la combinaison suivante

titre#vide#vide#date#vide#redacteur

j'aimerai bien que dans la page d'affichage des documents lorsque je choisis mon type, eh bien la premiere lise deroulante prenne pour valeur par defaut titre; la troisieme date et la sixieme redacteur par exemple , les autres restant a civde par dafault

merci pour voitre aide, je pense que j'ajout/suppression de listes rend les choses complqiees a mon niveau


avez vous des sites ou codes expliquant mon cas ? merci :)
mercredi 17 janvier 2007 à 16:09:48 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

ralecul

Réponse acceptée !
Je n'ai visiblement pas bien compris ce vous souhaitez faire...

Même après relecture je ne comprend toujours pas, peut être qu'un lien vers une page de démo pourrait m'aider, ou alors un screeshot des pages entières ?

Je peut tout de même essayer l'hypothèse suivante :
-Vous souhaitez qu'à la sélection d'une option d'un select les autres selects soient sélectionnés sur une autre valeur ? (difficile à formuler et à comprendre...)

<script type="text/javascript">
function autoSelect()
{
    var obj = document.getElementById('other');
    var src = document.getElementById('source');
    obj.selectedIndex = src.selectedIndex;
    //ici l'option selectionne dans la source est applique au select de destination : other
}
</script>

<select id="source" onchange="autoSelect()">
    <option name="1" value="1">1</option>
    <option name="2" value="2">2</option>
    <option name="3" value="3">3</option>
</select>

<select id="other">
    <option name="1" value="1">1</option>
    <option name="2" value="2">2</option>
    <option name="3" value="3">3</option>
</select>

Comme je n'ai pas compris ce que vous souhaitez faire j'ai bien peur que ce bout de code ne vous serve à rien mais on ne sait jamais...
jeudi 18 janvier 2007 à 09:36:37 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

eclipse012

bonjour

voici le code que j'ai ecrit

en fait, le but de mon script , c'est que lorsque j'arrive dans mon formulaire , et que je choisis un type de document parmi une liste arborescente, mes combo box qui existent deja et qui sont initialisees a "vide" se mettent a jour automatiquement selon la valeur de la colonne code_affichage dans ma base de données, et ensuite , lorsque elles se sont mises a jour, je clique sur valider pour avoir tous les documents du type choisi et en affichannt que les colonne specifiees

<script type="text/javascript"> 

var types_tab = new Array; // Liste des Types de Documents
<?php
 $types_tab = generate_types_tab();  //genere le tableau de tous les types de documents
 $res = db_send_query("","SELECT NUM_TYPE, code_affichage FROM type_document");
 while($row = db_fetch_assoc($res)){
  $code_affichage = explode ("#", $row["code_affichage"]);
  echo "types_tab[".$row['NUM_TYPE']."] = new Array(";  //la j'essaie de construire une sorte de liste car dans ma base de données j'ai stocké
  $list = "";                      //les colonnes âr default sous la forme code_doc#libelle#none#none# etc ....par exemple
  for($i=0;$i<sizeof($code_affichage);$i++){
   $list .= "'".$code_affichage."',";
  }
  echo substr($list,0,sizeof($list)-1).");\n";
 }
 
 var_dump( $list);
?>

function update_liste_affichage(type) {
 alert('bonjour');
 
 for(i=0;i<6;i++){
  var cur_combobox = document.form00['c2'+i];
  for(k=0; k<cur_combobox.options.length;k++)
   if(type_tabs[type][k]==cur_combobox.options[k].value)
    cur_combobox.options[k].selected = true;
   else
    cur_combobox.options[k].selected = false;
 }
}
</script>

jeudi 18 janvier 2007 à 09:36:39 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

eclipse012

bonjour

voici le code que j'ai ecrit

en fait, le but de mon script , c'est que lorsque j'arrive dans mon formulaire , et que je choisis un type de document parmi une liste arborescente, mes combo box qui existent deja et qui sont initialisees a "vide" se mettent a jour automatiquement selon la valeur de la colonne code_affichage dans ma base de données, et ensuite , lorsque elles se sont mises a jour, je clique sur valider pour avoir tous les documents du type choisi et en affichannt que les colonne specifiees

<script type="text/javascript"> 

var types_tab = new Array; // Liste des Types de Documents
<?php
 $types_tab = generate_types_tab();  //genere le tableau de tous les types de documents
 $res = db_send_query("","SELECT NUM_TYPE, code_affichage FROM type_document");
 while($row = db_fetch_assoc($res)){
  $code_affichage = explode ("#", $row["code_affichage"]);
  echo "types_tab[".$row['NUM_TYPE']."] = new Array(";  //la j'essaie de construire une sorte de liste car dans ma base de données j'ai stocké
  $list = "";                      //les colonnes âr default sous la forme code_doc#libelle#none#none# etc ....par exemple
  for($i=0;$i<sizeof($code_affichage);$i++){
   $list .= "'".$code_affichage."',";
  }
  echo substr($list,0,sizeof($list)-1).");\n";
 }
 
 var_dump( $list);
?>

function update_liste_affichage(type) {
 alert('bonjour');
 
 for(i=0;i<6;i++){
  var cur_combobox = document.form00['c2'+i];
  for(k=0; k<cur_combobox.options.length;k++)
   if(type_tabs[type][k]==cur_combobox.options[k].value)
    cur_combobox.options[k].selected = true;
   else
    cur_combobox.options[k].selected = false;
 }
}
</script>

vendredi 19 janvier 2007 à 12:52:29 | Re : mise a jour de listes deroulantes lorsque on a choisit un type

eclipse012

merci pour votre aide; j'ai trouvé mes erreurs et mon probleme s'est finaleemnt résolu!!!

cordialement

eclipse


Cette discussion est classée dans : code, type, post, listes, deroulantes


Répondre à ce message

Sujets en rapport avec ce message

listes deroulantes [ par patie ] Patie Probleme entre select et submit [ par lapartdombre ] Bonjour j'ai un formulaire et je chercher à récupérer l'url d'un select. Cette url doit etre mon adresse de renvoie de mon formulaire. Cela ne fonctio Probleme entre select et submit [ par lapartdombre ] Bonjour j'ai un formulaire et je chercher à récupérer l'url d'un select. Cette url doit etre mon adresse de renvoie de mon formulaire. Cela ne fonctio affichage de x listes deroulantes en fonction d'1 autre liste deroulante [ par candice9 ] Bonjour,dans mon formulaire, la 1er liste deroulante selectionne combien d'experiences l'utilisateur veut comparer et les listes deroulantes suivantes trois listes deroulantes liées à mysql (php) [ par jodenki ] Voila, j'ai trouvé plein de sources qui m'indiquent comment modifier dynamiquement 'en dur' le contenu d'une liste deroulante (c'est à dire que le co Menu type mac [ par kk8ete ] Bonjour j'ai trouvé cette source : http://www.javascriptfr.com/code.aspx?ID=26334 et je voudrais faire exactement le meme type de menu mais en chang Champ texte et Listes deroulantes liées [ par kagura05 ] Bonjour,J'ai un formulaire qui consiste de pleins de champs de texte et des listes deroulantes.Mon probleme est le suivant :- J'ai un champ texte suiv Personnaliser mes listes déroulantes [ par ajan ] Bonjour,ça fait quelques temps que je code en java, mais je n'ai pas encore toutes les subtilités de la feuille de style. J'aimerais que toutes mes li selection par id sous internet explorer [ par alexius ] Bonjour à tous, en testant mon code sous ie je me suis apercu que mon code ne marchai plus.Je crois que cela vien de document.getElementById.Je cherch Réinitialiser un OPTION avec du code JS [ par whombat ] Bonjour à tous,J'ai sur ma page HTML et PHP (avec du JS) toute une série de listes déroulantes, une par lettre de l'alphabet.Le visiteur doit choisir


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales