Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [2004] Evento change di più ComboBox dentro un ciclo for

    Ciao raga!!

    Guardate questo script:
    -----------------------------------------------------------------
    var lineaXML:XML = new XML();
    lineaXML.ignoreWhite = true;
    lineaXML.onLoad = function() {
    var posX:Number = 577.4;
    var posY:Number = 174.4;
    var catArray = new Array();
    for (var i = 0; i<this.childNodes.length; i++) {
    catArray[i] = new Object();
    catArray[i].data = this.childNodes[i].attributes.id;
    catArray[i].label = this.childNodes[i].attributes.valore.toUpperCase();
    var subcatArray = new Array();
    for (var j = 0; j<this.childNodes[i].childNodes.length; j++) {
    subcatArray[j] = new Object();
    subcatArray[j].data = this.childNodes[i].childNodes[j].attributes.id;
    subcatArray[j].label = this.childNodes[i].childNodes[j].attributes.valore.toUpperCase();
    subcatdata += subcatArray[j].data+"|";
    subcatlabel += subcatArray[j].label+"|";
    }
    subcatdata += "^";
    subcatlabel += "^";
    subcatArraydat = subcatdata.split("^");
    subcatArraylab = subcatlabel.split("^");
    _root.attachMovie("ComboBox", ["ComboBox"+i], i);
    _root["ComboBox"+i].dataProvider = subcatArray;
    _root["ComboBox"+i]._x = posX;
    _root["ComboBox"+i]._y = posY += (_root["ComboBox"+i]._height)+10;
    var listcatObj = new Object();
    listcatObj.change = function() {
    idcat = _root["ComboBox"+i].selectedItem.data;
    trace(idcat);
    };
    _root["ComboBox"+i].addEventListener("change", listcatObj);
    }
    };
    lineaXML.load("xml/ricerca.xml");
    -----------------------------------------------------------------
    Come mai il trace mi da undefined
    Se la mattina ti svegli con 4 palle il nemico è alle spalle!!

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    ...
    subcatArraydat = subcatdata.split("^");
    subcatArraylab = subcatlabel.split("^");
    var mc = _root.attachMovie("ComboBox", "ComboBox" + i, i);
    mc.dataProvider = subcatArray;
    mc._x = posX;
    mc._y = posY += (mc._height)+10;
    var listcatObj = new Object();
    listcatObj.item = mc;
    listcatObj.change = function()
    {
    	idcat = this.item.selectedItem.data;
    	trace(idcat);
    };
    mc.addEventListener("change", listcatObj);

  3. #3
    sei grande....grazie mille!!
    Se la mattina ti svegli con 4 palle il nemico è alle spalle!!

  4. #4
    A questo punto sfrutto l'occasione e ti chiedo: ho dovuto aggiungere un MovieClip all'interno del ciclo in questo modo ma ora quando vado in un'altra scena mi rimangono, come faccio a rimuoverli.Tanto per capirsi se inserivo il MovieClip fuori dal ciclo potevo mettere "menuContainer.removeMovieClip();" ma così come faccio??
    -------------------------------------------------------------------
    var lineaXML:XML = new XML();
    lineaXML.ignoreWhite = true;
    lineaXML.onLoad = function() {
    var menu:String = "ComboBox";
    var invio:String = "invia";
    var posX:Number = 577.4;
    var posY:Number = 130;
    //var masterArray = new Array();
    for (var i = 0; i<this.childNodes.length; i++) {
    //masterArray[i] = new Object();
    //masterArray[i].data = this.childNodes[i].attributes.id;
    //masterArray[i].label = this.childNodes[i].attributes.valore.toUpperCase();
    var container:MovieClip = _root.createEmptyMovieClip("menuContainer"+i, i);
    _root.container._x = posX;
    _root.container._y = posY += (container._height)+10;
    var catArray = new Array();
    for (var k = 0; k<this.childNodes[i].childNodes.length; k++) {
    catArray[k] = new Object();
    catArray[k].data = this.childNodes[i].childNodes[k].attributes.id;
    catArray[k].label = this.childNodes[i].childNodes[k].attributes.valore.toUpperCase();
    var subcatArray = new Array();
    for (var j = 0; j<this.childNodes[i].childNodes[k].childNodes.length; j++) {
    subcatArray[j] = new Object();
    subcatArray[j].data = this.childNodes[i].childNodes[k].childNodes[j].attributes.id;
    subcatArray[j].label = this.childNodes[i].childNodes[k].childNodes[j].attributes.valore.toUpperCase();
    subcatdata += subcatArray[j].data+"|";
    subcatlabel += subcatArray[j].label+"|";
    }
    subcatdata += "^";
    subcatlabel += "^";
    subcatArraydat = subcatdata.split("^");
    subcatArraylab = subcatlabel.split("^");
    //subcatArray[0].label = this.childNodes[i].childNodes[k].attributes.valore.toUpperCase();
    var item:MovieClip;
    item = container.attachMovie(menu, k, k);
    //_root.attachMovie("ComboBox", ["ComboBox"+i], i);
    item._x = posX;
    item._y = posY += (item._height)+5;
    item.dataProvider = subcatArray;
    var listcatObj = new Object();
    listcatObj.cont = item;
    listcatObj.change = function() {
    //listcatIndex = _root["ComboBox"+i].selectedIndex;
    //listcatLabel = _root["ComboBox"+i].selectedItem.label;
    var idcat = this.cont.selectedItem.data;
    //trace(idcat);
    scriviArray(idcat);
    };
    item.addEventListener("change", listcatObj);
    }
    scriviArray = function (idcat) {
    this["xml"+i] = new Array();

    this["xml"+i].push(idcat+"_");
    };
    }
    };
    lineaXML.load("xml/ricerca.xml");
    -------------------------------------------------------------------
    grazie!!
    Se la mattina ti svegli con 4 palle il nemico è alle spalle!!

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Quali sono quelli da rimuovere?

  6. #6
    tutti i movie "menuContainer"+i che mi crea il ciclo.
    Se la mattina ti svegli con 4 palle il nemico è alle spalle!!

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.