Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    Costruire una stringa di n-elementi separati da ","

    Ciao a tutti,
    anche se il problema è banale, non sono ancora riuscito a trovare una soluzione a quello che dovrei fare, ovvero costruirmi una stringa del genere, partendo da un array contenente n-valori.

    elemento1,elemento2,elemento3,...elementoN

    La stringa deve terminare senza la virgola.

    Sto provando utilizzando la concat ma, oltre a non sapere se è il metodo giusto, non mi funziona.

    Queste le poche righe di codice

    Codice PHP:
        for (document.datiform.CODI_ENTE_LIST.options.length 1>= 0i--)
        {
            
    alert(document.datiform.CODI_ENTE_LIST.options[i].value)
    main_codiente=main_codiente.concat(document.datiform.CODI_ENTE_LIST.options[i].value,",");
        } 
    Chiaramene [I]document.datiform.CODI_ENTE_LIST.options.value restiuisce correttamente un valore.

    Qualche suggerimento?

    Grazie
    Ciao

  2. #2
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da whisher
    join


    Grazie, ma non riesco ad applicarla al mio codice

    Potresti indicarmi come fare?

    Grazie
    Ciao

  4. #4
    Codice PHP:
    document.datiform.CODI_ENTE_LIST.options[i].value 
    non è un array ma una semplice stringa.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Niente da fare, non ci riesco.

    Sto provando così, ma mi da errore

    Codice PHP:

        
    var strlistenti = new String("document.datiform.CODI_ENTE_LIST.options.value");
        var 
    strlistenti strlistenti.join(", ")

        
    alert(strlistenti
    Grazie ancora per le risposte.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    quasi risolto...

    Ho quasi risolto così

    Codice PHP:
    var strlistenti="";
    var 
    strvirgola=",";

    for (
    document.datiform.CODI_ENTE_LIST.options.length 1>= 0i--)
    {
       
    strlistenti strlistenti+document.datiform.CODI_ENTE_LIST.options[i].value+strvirgola

    Solo che non devo inserire l'ultima virgola

    Come fare?

    Grazie
    Ciao

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    probabilmente non puoi usare join perche' quella e' un HTML collection, non un array vero e proprio

    fai come facevi all' inizio, semplicemente aggiungi la virgola se i!=0
    main_codiente=main_codiente.concat(document.datifo rm.CODI_ENTE_LIST.options[i].value,((i!=0)?",":""));

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Xinod
    probabilmente non puoi usare join perche' quella e' un HTML collection, non un array vero e proprio

    fai come facevi all' inizio, semplicemente aggiungi la virgola se i!=0
    main_codiente=main_codiente.concat(document.datifo rm.CODI_ENTE_LIST.options[i].value,((i!=0)?",":""));
    Grazie della risposta, ma la soluzione che ho indicato prima sembra funzionare lo stesso, eccetto per l'ultima virgola. Sto cercando sul forum come togliere l'ultimo carattere di una stringa.

    Ciao

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma non ti e' chiaro il procedimento?
    che usi concat o una semplice concatenazione appendi la virgola solo se i!=0

    ((i!=0)?",":"")

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Xinod
    scusa ma non ti e' chiaro il procedimento?
    che usi concat o una semplice concatenazione appendi la virgola solo se i!=0

    ((i!=0)?",":"")
    Sì, è chiarissimo, però il problema era che l'array viene letto al contrario. Comunque ho risolto inserendo un'altra variabile contatore.

    Vi posto il codice completo.

    Codice PHP:
        var iconc=0;
        var 
    strlistenti="";
        var 
    strvirgola=",";

        for (
    document.datiform.CODI_ENTE_LIST.options.length 1>= 0i--)
        {
            
    //        alert(document.datiform.CODI_ENTE_LIST.options[i].value)

            
    alert(iconc);

            if (
    iconc!=0)
            {
                
    strlistenti strlistenti+strvirgola+document.datiform.CODI_ENTE_LIST.options[i].value

            
    }
            else
            {
                
    strlistenti strlistenti+document.datiform.CODI_ENTE_LIST.options[i].value
            
    }

            
    iconc=iconc+1
        
    }

        
    //    alert(strlistenti); 
    Grazie ancora per le risposte, anche se non utilizzate, potrebbero servirmi in futuro per altri codici.

    Ciao

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.