Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    leggere i valori presenti in una listbox multiple

    come faccio a leggere da una listbox multipli tutti i valori presenti?
    tipo
    <select name="voci" multipli>
    <option value=1>uno</option>
    <option value=2>due</option>
    <option value=3>tre</option>
    </select>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Leggerli e' facile... ma tutto dipende da cio' che ne vuoi fare
    codice:
    s = document.mioForm.miaSelect;
    for (var i=0;i<s.options.length;i++) {
      if (s.options[i].selected) 
        alert(s.options[i].value+" Selezionato!");
    }
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    riesco a leggerle solo che la list box si trova in un form che viene inviato ad una pagina php da li riesco a leggere i valori ma solo se li seleziono con il mouse io ho bisogno di leggere tutti i valori presenti, siccome i dati nella list box vengono inseriti con un script javascript in quanto prima si trovano in un'altra listbox,
    dovrei fare in modo che quando le voci vengono inserite nella seconda listbox vengono selezionati automaticamente,
    ma come?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Come nel primo post il problema e' esposto solo in modo discorsivo... per evitare di proporti inutilmente soluzioni che non si adattano alla tua pagina reale posta un pochino del codice che usi

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    allora tutto parte da qui:
    <table cellspacing="0" cellpadding="0" border="0" width="100%">
    <tr><td width="40%"><div align="center">
    <select class="textfieldFR" name="myListboxOne" class="input_text" id="myListboxOne" size="6">
    <?php
    $sql_tip_strut = mysql_query("select Codice,RagioneSociale from struttura");
    while(list($codice,$descrizione)=mysql_fetch_array ($sql_tip_strut)) {
    echo"<option label=\"$descrizione\" value=\"$codice\">$descrizione</option>";
    }
    ?>
    </select></div></td>
    <td><div align="center"><input type="button" style="font-size:10px;" value=">>" id="myCmd" onClick="javascript:moveItem(document.getElementBy Id('myListboxOne'), document.getElementById('myListboxTwo'), 'right');">


    <input type="button" style="font-size:10px;" value="<<" id="myCmd" onClick="javascript:moveItem(document.getElementBy Id('myListboxOne'), document.getElementById('myListboxTwo'), 'left');">
    </div></td>
    <td width="40%"><div align="center">
    <select class="textfieldFR" name="myListboxTwo[]" class="input_text" multiple id="myListboxTwo" size="6">
    </select>
    </div></td></tr>
    </table>

    la funzione javascript moveItem è:
    <script language="javascript">
    function moveItem(theListBox1, theListBox2, theWay)
    {
    if(theWay == "right")
    {
    if(theListBox1.selectedIndex == -1)
    return false;
    theListBox2.options[theListBox2.length] = new Option(theListBox1.options[theListBox1.selectedIndex].label, theListBox1.options[theListBox1.selectedIndex].value);
    theListBox2.options[theListBox2.length-1].label = theListBox1.options[theListBox1.selectedIndex].label;
    theListBox1.options[theListBox1.selectedIndex] = null;
    }

    if(theWay == "left")
    {
    if(theListBox2.selectedIndex == -1)
    return false;
    theListBox1.options[theListBox1.length] = new Option(theListBox2.options[theListBox2.selectedIndex].label, theListBox2.options[theListBox2.selectedIndex].value);
    theListBox1.options[theListBox1.length-1].label = theListBox2.options[theListBox2.selectedIndex].label;
    theListBox2.options[theListBox2.selectedIndex] = null;
    }
    }
    </script>

    come faccio a selezionare automaticamente i valori spostati dalla thelistBox1 alla theListBox2 in modo che tutti i valori presenti nella theListBox2 siano selezionati e quando invio attraverso il form riesco a leggere i valori presenti?
    spero che sia chiaro.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    function accendi(f) {
      s = f.elements["myListboxTwo[]"];
      for (var i=0;i<s.options.length;i++) {
        s.options[i].selected = true;
      }
      return true;
    }
    
    ... ... ...
    
    <form onsubit="accendi(this)">
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    grazie br1, ho risolto come hai detto tu, tutto funge. yes

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.