autocomplete

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
Аватара пользователя
egor_pe4kin
Сообщения: 5
Зарегистрирован: 27 май 2010, 01:24

autocomplete

Сообщение egor_pe4kin »

Здравствуйте.
Подскажите, пожалуйста, как сделать autocomplete посредством as3, и, главное, не во флексе, нашёл только 1 достойный пример, и то он не подошёл(
Спасибо
Аватара пользователя
egor_pe4kin
Сообщения: 5
Зарегистрирован: 27 май 2010, 01:24

Re: autocomplete

Сообщение egor_pe4kin »

проблема решена.

если нужно, вот исходник

Код: Выделить всё

import fl.data.DataProvider;import fl.controls.ComboBox; var dp:DataProvider = new DataProvider();var i:Number;var xml_loader:URLLoader = new URLLoader(); var cb:ComboBox = new ComboBox();cb.editable=true;cb.addEventListener(Event.CHANGE, handleChange); xml_loader.load(new URLRequest("data.xml"));xml_loader.addEventListener(Event.COMPLETE, convertXMLToDataProvider); function convertXMLToDataProvider(e:Event):void {    xml_loader.removeEventListener(Event.COMPLETE, convertXMLToDataProvider);    var XMLData:XML=new XML(e.target.data);    var XMLLength:Number=XMLData.children().length();    for (i = 0; i < XMLLength; i++) {        dp.addItem({label :XMLData.item[i]});    }    cb.dataProvider=dp;    addChild(cb);    //cb.prompt="123";} function handleChange(event:Event):void {    if(cb.text.length < 1){        cb.dataProvider=dp;    }else{        cb.prompt=cb.selectedLabel;        cb.text=cb.prompt;        var arr:Array=dp.toArray();        var filteredArr:Array=arr.filter(filterDataProvider);        cb.dataProvider=new DataProvider(filteredArr);    }    if(cb.dataProvider.length > 0){        cb.open();    }else{        cb.close();    }    } function filterDataProvider(obj:Object, idx:int, arr:Array):Boolean {    var txt1:String=obj.label.toLowerCase();    var txt2:String=cb.text.toLowerCase();    if (txt1.search(txt2)!=-1) {        return true;    }    return false;}
Ответить