Remplacer un item dans un select multiple par un autre [Résolu]

Messages postés
46
Date d'inscription
mercredi 10 août 2005
Statut
Membre
Dernière intervention
18 janvier 2011
- - Dernière réponse : infkb
Messages postés
46
Date d'inscription
mercredi 10 août 2005
Statut
Membre
Dernière intervention
18 janvier 2011
- 21 sept. 2006 à 23:30
Bonjour,
Je cherche a faire une liste a choix multiple et que chaque fois que je selectionne un item j'ai sa taille et la possibilite de le changer.
J'ai rassembler des morceaux de codes et j'ai réaliser tout il me reste juste comment remplacer l'item selectionne dans la liste par celui dans le texte field c'est a dire celui qu'on veux le changer.
voici mon code :

<html>
<script>
function getValue(textb,listd, calql) {        // Affecte la valeur de la liste choisie dans la zone de texte
    textb.value=listd.item(listd.selectedIndex).text;
    // textb.value=listd.item(listd.selectedIndex).value; si on veut la valeur dans le code et pas dans la liste
    calql.style.visibility = 'hidden';
    textb.focus();
    textb.select();
}
function display_liste(calqt, calql) {    // Affiche le calque de la liste
    calql.style.visibility = 'visible';
    calql.style.top = calqt.style.top;
    //calql.style.top = calqt.style.top + 40;
    calql.style.left = calqt.style.left;
}
function replace_new(textb, listd){
replace(listd,textb);
alert("item remplace!");
}
function afficher(value) {
    alert(value.length)
}
function text_match(textb, listd) { // regarde si le texte existe en entier
    if (textb.value != "") {
        for (i=0; i<listd.length; i++) {
            if (textb.value.toLowerCase() == listd[i].text.toLowerCase()) {
                return i;
            }
        }
    }
    return -1;
}




function hide_liste(calqt, calql) {    // Affiche ou masque le calque de la liste suivant son dernier état
    if (calql.style.visibility == 'visible') {
        calql.style.visibility = 'hidden';
    }
    else {
        display_liste(calqt, calql);
    }
}
function liste_lostfocus(textb, listd, calql) { // Masque le calque si le texte et la liste n'ont pas le focus
    if ( (self.document.activeElement.name != textb) && (self.document.activeElement.name != listd) ) {
        calql.style.visibility = 'hidden';
    }
}
</script>








<form method="post" name="formulaire">


   
 


&nbsp&nbsp







    <select name="listed" id="formulaire" size="10" OnChange="javascript:afficher(formulaire.options[listed.selectedIndex].value);"onClick="getValue(document.getElementById('texteb'), document.getElementById('listed'), document.getElementById('liste1'));">
          <option VALUE="Item1">Item1-2</option >
          <option VALUE="Item2">Item2</option>
          <option VALUE="Item3">Item3</option>
    </select>


</form>



</html>
Merci de me repondre c'est tres urgent.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
3
Merci
bonjour,

   function replace_new(textb, listd){
   listd[listd.selectedIndex].text= textb.value; }
 
>>Merci de me repondre c'est tres urgent.




comme j'ai été un peu long, j'espère que tu n'as pas été viré ?
il faudrait nous rassurer !

<hr />
            cordialement   Bul    
mon Site
    
=Bul
M'écrire


<hr />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
46
Date d'inscription
mercredi 10 août 2005
Statut
Membre
Dernière intervention
18 janvier 2011
3
Merci
Merci infiniment et rassurez vous je n'est pas ete viré car j'ai trouve la solution et puisque j'ai ete tres occupe j'ai pas eu le temps de poster la reponse, Veuillez m'excuser.
Donc j'ai fait la fonction suivante:
function

replace_new(textb, listd)
{listd.item(listd.selectedIndex).text=textb.value;

listd.item(listd.selectedIndex).value=textb.value;

alert(

"item remplace!");
}
c'est exactement ce que vous m'avez proposer.

Merci encore une fois.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de infkb