Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    eliminare dati da un <select>

    ragazzi ho un piccolo problema abbastanza difficile da spiegare...
    cercerò di essere il più chiaro possibile...allora:

    ho 4 <select> ognuno con questi campi:
    a
    b
    c
    d
    e

    vorrei che nel momento che l'utente selezioni per esempio A nel primo select, all'interno degli altri select scompaia la lettera A visto che è già stata scelta in un altro select

    nel momento in cui però l'utente va a modificare il select con A, magari scegliendo B, nel select successivo dovrà ricomparire A e scomparire B

    so che devo usare l'evento onChange ma non so come
    spero di essere stato chiaro
    grazie a tutti

    ciao ciao

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ti propongo questo...

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function populate(aSelect) {
     newOption = document.createElement('OPTION');
     aSelect.add(newOption);
     newOption.value = "A";
     newOption.text  = "A";
     newOption = document.createElement('OPTION');
     aSelect.add(newOption);
     newOption.value = "B";
     newOption.text  = "B";
      newOption = document.createElement('OPTION');
     aSelect.add(newOption);
     newOption.value = "C";
     newOption.text  = "C";
      newOption = document.createElement('OPTION');
     aSelect.add(newOption);
     newOption.value = "D";
     newOption.text  = "D";
     newOption = document.createElement('OPTION');
     aSelect.add(newOption);
     newOption.value = "E";
     newOption.text  = "E";  
    } // function populate(aSelect)
    
    function svuota(aSelect) {
     //---------- Prima svuoto tutti valori tranne quello selezionato nella select selezionata
     value      = aSelect.value;
     numElement = aSelect.length;
     var i = 0;
     for (j=numElement-1;j>=0;j--) {
      curOption = aSelect.options(j);
      if (curOption.value != value) {
    	  aSelect.remove(j);
    	} // if (curOption.value != value) 
     } // for (j=numElement-1;j>=0;j--)
     //---------- adesso per ogni select del div (parent) rimuovo il valore scelto
     svuota2(aSelect,'sel1');
     svuota2(aSelect,'sel2');
     svuota2(aSelect,'sel3');
     svuota2(aSelect,'sel4');
     svuota2(aSelect,'sel5');
    } // function svuota(unValore)
    
    function svuota2(aSelect,selectDaSvuotare) {
     if (aSelect.id == selectDaSvuotare) {
      return;
     } // if (aSelect.id == selectDaSvuotare)
     var objSelectDaSvuotare = document.getElementById(selectDaSvuotare);
     numElement = objSelectDaSvuotare.length;
     for (j=numElement-1;j>=0;j--) {
      curOption = objSelectDaSvuotare.options(j);
      if (curOption.value == aSelect.value) {
    	  objSelectDaSvuotare.remove(j);
    	} // if (curOption.value == aSelect.value)
     } // for (j=numElement-1;j>=0;j--)
    } // function svuota2(aSelect,selectDaSvuotare)
    
    function ripopolaTutto() {
     ripopola('sel1');
     ripopola('sel2');
     ripopola('sel3');
     ripopola('sel4');
     ripopola('sel5');
    } // function ripopolaTutto()
    
    function ripopola(selectDaRipopolare) {
     var aSelect = document.getElementById(selectDaRipopolare);
     aSelect.innerHTML = '';
     populate(aSelect)
    } // function ripopola(selectDaRipopolare)
    
    //-->
    </script>
    
    </head>
    <body>
    <div id="group1">
    <select id="sel1" onchange="svuota(this)"></select>
    <select id="sel2" onchange="svuota(this)"></select>
    <select id="sel3" onchange="svuota(this)"></select>
    <select id="sel4" onchange="svuota(this)"></select>
    <select id="sel5" onchange="svuota(this)"></select>
    </div>
    
    
    
    <input type="button" value="Ripopola" onclick="ripopolaTutto()">
    
    <script language="JavaScript" type="text/javascript">
    <!--
    populate(document.getElementById('sel1'));
    populate(document.getElementById('sel2'));
    populate(document.getElementById('sel3'));
    populate(document.getElementById('sel4'));
    populate(document.getElementById('sel5'));
    //-->
    </script>
    
    </body>
    </html>

  3. #3
    grazie davvero!!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.