Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96

    numero delle options di una select

    Ciao a tutti,
    ho cercato un po' nel forum, ma non ho trovato risposta alla mia domanda.
    Avrei bisogno di leggere il count delle options di una select che viene caricata dinamicamente dal DB.

    Ho scritto una funzioncina di questo tipo, che mi pare funzioni se non per il fatto che la sintassi document.form.select.options.leght mi torna valore "undefined" e quindi non cicla.

    var ris=0;
    var cod=window.document.mioform.inprod.value;
    var prodotti = window.document.mioform.prodotti;
    for (i=0; i<prodotti.options.lenght-1;i++){
    if(cod==prodotti.options[i].text){
    prodotti.options[prodotti.selectedIndex]=i;
    ris=1;
    }
    }
    if(ris==0){
    alert("The product code typed is not found!");
    }

    Sapete dirmi se c'è una funzione che ritorni la lenght di una select?


    Non so perchè quando uso Javascript le cose più semplici diventano complesse, scusate l'ignoranza!!!

    ciao e grazie
    Sili

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    prodotti.options.lenght
    e` corretta.
    Oppure anche:
    prodotti.lenght

    Non e` corretto il -1 che ci hai aggiunto (immagino).

    E non e` corretto assegnare un numero all'opzione:
    prodotti.options[prodotti.selectedIndex]=i;
    (forse volevi scrivere:
    prodotti.selectedIndex=i;
    ).

    Poi dipende dalla DTD che usi: se e` strict, non funzionano
    var cod=window.document.mioform.inprod.value;
    var prodotti = window.document.mioform.prodotti;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    381
    ma non le puoi contare mentre le leggi dal DB?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    Rispondo a Mich_:

    ho provato a semplificare il codice per vedere cosa non andava e ho scritto così:

    var valore="pippo";
    var cod=window.document.mioform.inprod.value;
    alert(cod);
    alert(window.document.mioform.prodotti.selectedInd ex);
    alert(window.document.mioform.prodotti.options[window.document.mioform.prodotti.selectedIndex].text);
    alert(cod==window.document.mioform.prodotti.option s[window.document.mioform.prodotti.selectedIndex].text);
    alert(window.document.mioform.prodotti.options.len ght);
    alert(window.document.mioform.prodotti.lenght);
    if (cod==window.document.mioform.prodotti.options[window.document.mioform.prodotti.selectedIndex].text){
    alert(valore);
    }

    i due alert che riportano lenght, mi danno "undefined".
    Hai qualche altro suggerimento?

    Per quanto riguarda l'assegnazione del numero all'opzione hai ragione, volevo scrivere: prodotti.selectedIndex=i;

    resto in attesa, grazie comunque...





    Rispondo a anise_373:

    si l'avevo pensato anch'io, però ritengo più pulito leggerlo sul documento effettivo, i momenti in cui carico i dati da db e quelli di compilazione delle options sono diversi e non si sa mai cosa può succedere. Se non riuscirò a fare altrimenti proverò così, ma spero di trovare una soluzione migliore.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    tutti i window. davanti a document non servono. Non dovrebbero dare problemi, ma prova a toglierli.

    E nella pagina esiste un
    <form name="mioform" ...>

    e dentro il form un:
    <select name="prodotti" ...>
    ?
    E ci sono tag <option> dentro la select? E` necessario che ce ne sia almeno uno.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    La risposta ai tuoi quesiti è si, esistono i vari "oggetti" infatti gli altri alert mi tornano valori giusti, ovvero il testo dell'indice selezionato e l'indice selezionato.

    Ho provato a togliere la specifica "window." (in realtà l'avevo aggiunta quando presa dalla disperazione mi sono accorta che non sapevo più cosa provare), ma il risultato non cambia.

    Resto in attesa di qualunque suggerimento, anche se credo che ormai lo leggerò domani mattina, ma vi prego ditemi tutto ciò che vi passa per la testa!!!

    buona serata a tutti e grazie

    sili

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` non ci fai vedere la pagina? Un link sarebbe la cosa migliore.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    scusate il ritardo, ma ho dovuto estrapolare solo la parte in questione perchè la pagina fa parte di una intranet.

    Tra l'altro così facendo ho creato una pagina molto semplice nella quale la cosa non ha motivo di non funzionare a dovere.

    Potete vederla all'indirizzo: http://tjl73.altervista.org/prova/prova.html

    Queste cose fanno parte delle incertezze della programmazione????? Succedono anche ad altri o solo a me?

    Resto in attesa di qualche ideona, poi comunque è diventata una questione di principio, devo capire perchè non funziona!


    Saluti a tutti e grazie

    Sili

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai fatto bene a fare quel test.

    Comunque ho trovato:
    length non lenght
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    96
    mi sdraio a terra come uno zerbino e mi vergogno come un cane che ha rubato un panino ad un bimbo affamato (ammesso che se ne vergogni)...

    scusate l'infinita ignoranza...

    grazie tante

    ciao a tutti
    Sili

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.