Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: combobox

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159

    combobox

    Un saluto a tutti gli amici del forum...sto realizzando una piccola mappa sulla quale inserirò dei negozi.
    Il mio problema è questo, vorrei che i negozi si cercassero mediante dei combobox. Mi spiego meglio, sul primo combo ci sono le categorie (es abbigliamento, elettronica, ecc), una volta scelte le quali si caricano sul secondo tutti i negozi appartenenti a quella determinata categoria.
    Purtroppo non so come fare essendo un principinte di action, mi aiutate per favore?
    Utilizzo Flash Professional 8
    Grazie

  2. #2
    se fai una piccola ricerca nel forum trovi certamente qualcosa che ti può essere utile
    ad es qua
    http://forum.html.it/forum/showthrea...ighlight=combo

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159
    ciao crescenzo, sei sempre tempestivo ed efficace...
    ho visto il 3d ed ho proceduto così:
    ho creato il primo combo e associato al frame l'action, poi è toccato al file creacombo.xml con scritto
    <Nome id="primo"/><item>prima voce</item>
    <Nome id="secondo"/><item>seconda voce</item>
    <Nome id="terzo"/><item>terza voce</item>
    <Nome id="quarto"/><item>quarta voce</item>
    <Nome id="quinto"/><item>quinta voce</item>
    e fin qui tutto ok...
    i problemi sono venuti con il secondo combo...
    ho associato al frame l'action e ho creato il file primo.xml con scritto
    <Nome id="1"/><item>prima voce</item>
    <Nome id="2"/><item>seconda voce</item>
    <Nome id="3"/><item>terza voce</item>
    <Nome id="4"/><item>quarta voce</item>
    <Nome id="5"/><item>quinta voce</item>
    Ma non funziona...
    Praticamente ho capito che bisogna creare tanti file xml quanti sono gli id del file creacombo.xml e poi chiamare i file primo, secondo, terzo, ecc...
    Forse non ho capito niente
    tu che dici?

  4. #4
    mi sembra strano che nn ti funge...

    >Praticamente ho capito che bisogna creare tanti file xml quanti sono gli id del file creacombo.xml

    esatto

    >e poi chiamare i file primo, secondo, terzo, ecc...

    si questo lo fa lo script direttamente richiama il file xml associato all'id del creaCombo.xml

    ma hai messo gli script nei due frame?!

    ma leggi i dati della prima combo?
    il secondo file xml sta nella stessa cartetella del primo

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159
    i file sono nella stessa cartella...
    le action sono:
    I frame
    stop();

    this._lockroot=true;
    //fscommand ("allowscale", "false");
    System.useCodepage = true;
    filexml = "creaCombo.xml";


    ApriXML();
    function ApriXML () {

    mioxml = new XML();
    myarray = new Array();
    mioxml.load(filexml)
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML (success) {
    if (mioxml.loaded) {

    myarray = mioxml.childNodes;
    Dati();
    CreaCombo();
    delete myarray;
    delete mioxml;
    }
    };
    };




    // Funzione che prende i dati XML e li mette in degli Array
    function Dati () {

    // Array che contengono i Dati -----------------------
    idItem = new Array();
    item = new Array();
    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "Nome") {
    idItem.push(myarray[k].attributes.id);
    } else if (myarray[k].nodeName == "item") {
    item.push(myarray[k].childNodes.toString());
    }
    //trace(Dettaglio)


    };

    };
    // funzione che mette i dati nella combo
    function CreaCombo(){
    trace(item)
    prova.addItem("");
    for (i=0; i<idItem.length; i++){
    //prova.addItem(item[i]);
    prova.addItem({data:idItem[i], label:item[i]});
    }
    }

    listenerObject = new Object();
    listenerObject.change = function(eventObject){
    // Inserire qui il codice
    var obj = prova.selectedItem;
    trace("È stato selezionato il valore: " + obj.label);
    trace("richiamo per la seconda combo il file xml "+obj.data)

    chi=obj.data
    //trace(selezione)
    gotoAndStop(2);
    }
    prova.addEventListener("change", listenerObject)

    II frame
    stop();
    System.useCodepage = true;
    filexml1 = chi+".xml";


    ApriXML1();
    function ApriXML1 () {

    _root.loading = "Connecting to Data Base for XML data...";
    mioxml = new XML();
    myarray = new Array();
    mioxml.load(filexml1)
    //mioxml.load(filexml + "&rnd=" + random(999999));
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML (success) {
    if (mioxml.loaded) {

    myarray = mioxml.childNodes;
    Dati1();
    CreaCombo1();
    delete myarray;
    delete mioxml;
    }
    };
    };




    // Funzione che prende i dati XML e li mette in degli Array
    function Dati1 () {

    // Array che contengono i Dati -----------------------
    idItem1 = new Array();
    item1 = new Array();
    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "Nome") {
    idItem1.push(myarray[k].attributes.id);
    } else if (myarray[k].nodeName == "item") {
    item1.push(myarray[k].childNodes.toString());
    }
    //trace(Dettaglio)


    };

    };
    // funzione che mette i dati nella combo
    function CreaCombo1(){
    trace(item1)
    prova1.addItem("");

    for (i=0; i<idItem1.length; i++){

    prova1.addItem({data:idItem1[i], label:item1[i]});
    }
    }

    listenerObject1 = new Object();
    listenerObject1.change = function(eventObject){
    // Inserire qui il codice
    var obj = prova1.selectedItem;
    trace("È stato selezionato il valore: " + obj.label);
    trace("richiamo per la seconda combo il file xml "+obj.data)

    selezione=obj.data
    trace(selezione)
    }
    prova1.addEventListener("change", listenerObject1)

    Mi questo errore
    Error opening URL "file:///C|/Documents%20and%20Settings/Antonio/Desktop/combo/undefined.xml"

  6. #6
    aspe dai ...nn trovo + quel file del link...ne ho fatto uno a volo
    scaricalo da qui
    http://www.globalclima.net/prova/combo_xml.zip



    ps dimmi quando hai fatto che lo levo da li
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159
    ho trovato l'errore, avevo tutto sul primo frame, spostando il secondo combo sul secondo frame funziona tutto...
    Tanto di cappello prof. crescenzo...lo adatterò alle mie esigenze e ti farò sapere, grazie mille

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159
    ciao crescenzo, io ho bisigno che tutto sia sul primo frame (su livelli diversi), perciò ho fatto delle modifiche alle action che non hanno avuto successo...
    quali righe devo cambiare?

  9. #9
    Originariamente inviato da delgius
    ciao crescenzo, io ho bisigno che tutto sia sul primo frame (su livelli diversi), perciò ho fatto delle modifiche alle action che non hanno avuto successo...
    quali righe devo cambiare?
    ti basta mettere quello che hai nel secondo frame action e combo in un clip in cui avrai nel primo frame uno stop e batsa e nel secondo frame il cod e la combo e quindi nella action del primo frame della root invece di far spostare la root al secondo frame fai spostare il clip al suo secondo frame......dovrebbe fungere

    oppure mettere tutte le action del secondo frame un un'unica funzione e richiamarla al posto dello spostamento al secondo frame

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    159
    Quindi se io creo un mc e lo chiamo "clip", al suo interno ho due frame, al primo metto il comando stop e al secondo l'action con il combo, poi all'action della prima combo invece di
    "gotoAndPlay(2);" metto "_root.clip.gotoAndPlay(2);" giusto?
    Se è così non funziona
    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.