funzione per popolare un drop down list

ans66

Utente Attivo
27 Ago 2011
158
0
16
Sto creando questa funzione per popolare una drop down list:

Codice:
<script language="javascript">
function myFunc(sel)
{
//acquisisci l'elemento selezionato

if (sel.options[sel.selectedIndex].value=="Collettivita")
  {
var ddlPreferredMethodOfPhone = document.getElementById('Diametro');


for (i = 0; i < ddlPreferredMethodOfPhone.options.length-1; i++) {
ddlPreferredMethodOfPhone.options[i].remove;
}

    var Option0 = document.createElement("option");
    Option0.text = "";
    Option0.value = "0";
    ddlPreferredMethodOfPhone.options.add(Option0);

var option1 = document.createElement("option");
        option1.text = "fino a 30 mm.";
        option1.value = "30mm";

        ddlPreferredMethodOfPhone.options.add(option1);

var option2 = document.createElement("option");
        option2.text = "fino a 40 mm.";
        option2.value = "40mm";
        ddlPreferredMethodOfPhone.options.add(option2);

var option3 = document.createElement("option");
        option3.text = "fino a 50 mm.";
        option3.value = "50mm";
        ddlPreferredMethodOfPhone.options.add(option3);
        
var option4 = document.createElement("option");
        option4.text = "fino a 60 mm.";
        option4.value = "60mm";
        ddlPreferredMethodOfPhone.options.add(option4);
        
var option5 = document.createElement("option");
        option5.text = "fino a 80 mm.";
        option5.value = "80mm";
        ddlPreferredMethodOfPhone.options.add(option5);
  }

  
else
  {
  
var ddlPreferredMethodOfPhone = document.getElementById('Diametro');

var Option0 = document.createElement("option");
        Option0.text = "";
        Option0.value = "0";
        ddlPreferredMethodOfPhone.options.add(Option0);

var option1 = document.createElement("option");
        option1.text = "fino a 80 mm.";
        option1.value = "80mm";
        ddlPreferredMethodOfPhone.options.add(option1);

var option2 = document.createElement("option");
        option2.text = "fino a 100 mm.";
        option2.value = "100mm";
        ddlPreferredMethodOfPhone.options.add(option2);

var option3 = document.createElement("option");
        option3.text = "fino a 125 mm.";
        option3.value = "125mm";
        ddlPreferredMethodOfPhone.options.add(option3);
        
var option4 = document.createElement("option");
        option4.text = "fino a 140 mm.";
        option4.value = "140mm";
        ddlPreferredMethodOfPhone.options.add(option4);
        
var option5 = document.createElement("option");
        option5.text = "fino a 150 mm.";
        option5.value = "150mm";
        ddlPreferredMethodOfPhone.options.add(option5);  
}  


}
</script>

HTML:
Applicazione:<select id="applicazione"  onchange="myFunc(this);">
<option value="Industriali">Industriali</option>
<option value="Collettivita">Collettivita</option>

HTML:
Diametro: <select id="Diametro">
<option  </option>
</td>

Tale funzione non mi da' l'esatto risultato che vorrei perche:

Se seleziono l'opzione "Industriali" non ottengo alcuna reazione. Al contrario se seleziono "Collettivita" ho l'inserimento delle opzioni nel Combo "Diametro".
Se seleziono "Industriali" dopo Collettivita ottengo una reazione nel Combo "Diametro"
Non si svuota il Combo "Diametro" quando effettuo una seconda selezione

Ho provato a salvare questa funzione in un file esterno "MiaFunzione.js" ma non funzionava (non avevo alcun effetto) e pertanto sono stato obbligato ad inserire la funzione nella stessa pagina php.

Grazie tanto per l'aiuto.:):)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi azzerare le option come prima cosa quando richiami la funzione
Codice:
 function myFunc(sel)
    {
        var ddlPreferredMethodOfPhone = document.getElementById('Diametro');
        // azzero le option            
        ddlPreferredMethodOfPhone.options.length = 1;
per l'altro problema forse ti puo bastare aggiungere una option vuota prima delle due scelte
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciric,

Hai ragione in entrambi i casi. Ho inserito la tua riga di codice e ho inserito un option vuota e tutto funziona.

Mi potresti aiutare a capire perche' se inserisco la funzione in un file esterno non ho alcuna reazione? Sbaglio qualche cosa?:)

Chiamo la funzione nel file MiaFunzione che si trova nella stessa directory con la seguente riga di codice:

<script type="text/javascript" src="MiaFunzione.js"></script>
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
hai tolto i tag
<script language="javascript">
e
</script>
?
nel file esterno non ci vanno
 
Discussioni simili
Autore Titolo Forum Risposte Data
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
C Creazione di una funzione per il filtraggio dei campi di un db Presentati al Forum 0
T [Javascript] funzione per attivare analytics... dov'è l'errore? Javascript 14
L [javascript]problema funzione per webapi Javascript 4
borgo italia una funzione per verificare l'invio di files Snippet PHP 0
A Funzione javascript per effettuare la slide del carosello in avanti Javascript 0
trattorino [PHP] funzione per visualizzare solo carattere PHP 2
N funzione autoplay video per browser mobili come ios e android Javascript 0
neo996sps Logica per funzione preventivi: sono sulla strada giusta? PHP 4
S Utilizzare la funzione postmessage per fare un redirect Javascript 0
L Funzione per API HTML5 Javascript 0
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
M [Datetimepicker]Richiamare funzione per più id uguali jQuery 4
otto9due Funzione per ridimensionare div in base alla risoluzione schermo.. Javascript 5
G Funzione che resta in ascolto per una chiamata esterna Javascript 1
T [MYSQL] Richieste in Java per funzione Ajax MySQL 0
B Funzione per ottenere una determinata stringa PHP 4
ivarello Due Pulsanti con per lanciare funzione Javascript 0
L Funzione per verificare distanza di tempo non funziona: perchè? PHP 4
Z MailChimp: funzione per invio coupon personalizzati ed unici Email Marketing 2
T Funzione per redirect versione mobile: escludere i tablet Javascript 1
N [risolto] Funzione per calcolo età PHP 4
L funzione per nascondere username PHP 5
A Funzione unica per prendere e recuperare valori Javascript 0
P Funzione truncate per testo Javascript 3
E ordinamento array multidimensionale per un valore ottenuto tramite una funzione PHP 1
A Funzione per modificare foto PHP 2
P funzione per safari PHP 0
L Funzione per le News "leggi tutto" PHP 32
Sevenjeak Aiuto miglioramento funzione per inserimento BBCode in textarea Javascript 1
D Problema con funzione preg_match() per controllo email PHP 2
L Funzione per inserire solo testo PHP 13
H Funzione onmouseover per mostrare un box con un link da cliccare? Javascript 3
G Funzione per spedire email a destinatari diversi PHP 0
Monital Modificare una funzione per creazione tabella html PHP 15
L funzione per ruoli.. PHP 11
G funzione javascript per passaggio valori Javascript 1
emanuelevt funzione per entità html e classe PHP 1
asevenx problema con funzione per far apparire e scomparire un form di commenti PHP 1
M jQuery: funzione substr o substring per tagliare un testo? jQuery 1
M JavaScript: lanciare funzione ASP per salvare dati in database Javascript 0
J Funzione RICERCA per rubrica telefonica PHP 1
P SCript per la funzione condividi Ajax 1
T funzione cerca per il mio sito PHP 4
G Errore funzione per form PHP 2
O problemi con funzione per stampare tendina per data PHP 6
V [JQuery] Aiuto per funzione Ajax jQuery 0
P Funzione "http_build_query" per PHP4 PHP 0
G [javascript]Chiamare funzione javascript per menù Javascript 2

Discussioni simili