Actionscript 3 :: Auto-Complete TextInput - Match Beginning Of String Only?
Oct 30, 2011
My question concerns the following tutorial I've been working through:Building a Flex Type-Ahead Text Input
I was successful in enabling a search of available terms using the characters entered in the input, but only irrespective of the location of the characters in the terms. However, I am wondering how one might have the characters match only the beginning of the terms.
For example, suppose I enter the string "app" into the text input. How can I get only "apple" and not, for instance, "pineapple" to appear as an option?
In Actionscript and Adobe Flex, I'm using a pattern and regexp (with the global flag) with the string.match method and it works how I'd like except when the match returns multiple occurrences of the same word in the text. In that case, all the matches for that word point only to the index for the first occurrence of that word. For example, if the text is "cat dog cat cat cow" and the pattern is a search for cat*, the match method returns an array of three occurrences of "cat", however, they all point to only the index of the first occurrence of cat when i use indexOf on a loop through the array. I'm assuming this is just how the string.match method is. I want to find the specific indices of every occurrence of a match, even if it is of a word that was already previously matched.
I'm using a pattern and regexp (with the global flag) with the string.match method and it works how I'd like except when the match returns multiple occurrences of the same word in the text. In that case, all the matches for that word point only to the index for the first occurrence of that word. For example, if the text is "cat dog cat cat cow" and the pattern is a search for cat*, the match method returns an array of three occurrences of "cat", however, they all point to only the index of the first occurrence of cat when i use indexOf on a loop through the array. I'm assuming this is just how the string.match method is (although please let me know if i'm doing something wrong or missing something!). I want to find the specific indices of every occurrence of a match, even if it is of a word that was already previously matched.
I'm using a pattern and regexp (with the global flag) with the string.match method and it works how I'd like except when the match returns multiple occurrences of the same word in the text. In that case, all the matches for that word point only to the index for the first occurrence of that word. For example, if the text is "cat dog cat cat cow" and the pattern is a search for cat*, the match method returns an array of three occurrences of "cat", however, they all point to only the index of the first occurrence of cat when i use indexOf on a loop through the array. I'm assuming this is just how the string.match method is. I want to find the specific indices of every occurrence of a match, even if it is of a word that was already previously matched.
Posted this to the Adobe Support forum too, but so far, no luck there. My Flash CS4 installation on one computer is not giving me the auto complete choices it should for AS3. When I open an FLA for AS3, the ActionScript panel gives me the correct auto complete options for AS3.When I create a new AS file, link it to an AS3 FLA file, the auto complete options in the AS file are AS2 related and I cannot figure out why it's doing this or how to get my AS3 options back.I have some screen shots posted there to show what's happening.
my auto complete isn't working.ActionScript Code:import flash.display.MovieClipusing the above, if I type: import flash.display. there is only one item in the auto complete (BitmapData), when there should be a lot more than that. Why are they not showing?
i have a dictionary of words and would like to autocomplete as people writes i want to show the alternate word but what i have found lack of discrimination...if i type "an" in the list i'll have "announcement" and also "atlanta". there should be a way to limit the words based on the characters coincidents..
I've been working with Flash Builder for quite a long time, but just lately, developing a relative small project in Flex, when I try to auto complete the code sometimes the whole application crashes (keeps loading forever). It happened when I was writing <Style source="" /> or even when it was auto generating an handler for an event, so I guess it doesn't depend on the classes I use.
Code: var s:String = '%include %unquote(&open.gtestit&close);'; var re:RegExp = /([%&]?w+)/g; var a:Array = s.match(re); trace(a.join(' '));
I'm splitting the string up into words (w) where the word might have an optional % or & in front of it. The output is what I expect:
Code: %include %unquote &open gtestit &close
Is there a way to get the index of each matched string in one call? I know I can walk the original string using the resulting array and get indexes, but was hoping there was something similar to MATCH(). Something like:
I need to make an auto complete component in flex that fetches the auto complete results from a remote database using a webservice. I have the webservice and querying part worked out. I've already made custom components in action script by extending VBoxes. However I cannot figure out how to generate the popup window that is supposed to show under the text input in my auto complete text box.
I have the following as3 function below which converts normal html with links so that the links have 'event:' prepended so that I can catch them with a TextEvent listener.
protected function convertLinks(str:String):String { var p1:RegExp = /href|HREF="(.[^"]*)"/gs;
[Code]....
How can i modify my function so that links with 'event:' at the start are NOT matched and are left unchanged?
I've gotten stuck on some issue using AS3 and RegEx. I'm trying to use a RegEx var to match out the ends of a mathematical expressions out of a string. But for some reason, the RegEx only matches the first expression and ignores the one after the conditional.
How to compare a string with strings inside an array for a match? I have a file in which each sentence (or word) (generally string) is present in a new line. Opened the file and read the contents to a string.
Code: private function readHandler(event:Event):void{ _str = _readStream.readUTFBytes(_readStream.bytesAvailable); _strArray = _str.split(" "); //contains each string that appears in a new line _length = _strArray.length; [Code] .....
But this doesn't work. Seems like if(_input == _strArray[i]) never gets executed even if they are equal. What might be the problem. Is there some better way to so it?
I am using Flash CS5 and I have created a large, rarely changing framework that I don't want to be recompiled every time I use it in my projects.I must be doing something wrong because the "auto-complete" functionality doesn't show the names of the parameters of the functions.For example, I have a function:
public class Hey { public function show(name:String, num:Number, data:Array):void {...} }
For some reason, in the past few days, the auto complete feature doesn't work well when I'm creating a new class file. I'm trying to write a new class which uses away3D, and even though the auto-complete works well when I start a new AS3 file, it just doesn't work as far as away3D is concerned when I try to create a new AS3 Class file. Other features of the auto-complete don't work as well, for some reason.
I am using a s:TextInput in Flex 4.5. It shows it's prompt text if the underlying text value is null or empty String. Does anybody know if I can make either don't show the prompt on empty String or even show a different prompt?
I had to check a text input from a user to se if is inside an array, the array contains single words with possible answers. What I need to know is; if somebody for example type the "sky is blue" and the array contains "blue", I want it to recognize it even is there's more words in the given string that are not in the array.
I have two arrays. One contains numbers and the other contains strings. I want to do a sortOn(DECENDING) for the number array and then have the string array sort to match. if my string array is
I made a test where I download a file using URLLoader - something like this:
[Code]....
in the middle of the downloading process I physically disconnect the internet connection. the download stalls - but after aproximately 30 seconds downloadSuccessful is invoked, although only half of the data was downloaded. how can I make sure that the data to be downloaded is complete and correct?
I am loading in binary files with the url class which can be quite large 10mb + and it works fine on my server but another server I am testing on it can sometimes not work. Sometimes it will not load the file and other times it will only load about 20% and it throw a complete event??? Then of course other times it works fine. This server is https maybe that has something to do this it?
Looking to write some code that converts the first letter of each word in a input textbox string to Caps if not already. ie - input textbox = "lowercase input string", then on button press the function converts the input to output this: "Lowercase Input String".
I'm making an interactive film. At certain points within the film, the viewer has the ability to select from a few options that will direct them to an external video clip (they are flashback scenes). The main story pauses when the user selects a flashback scene and I'm clear on how to achieve this.
However, my issue is that once the flashback scene ends and the external video closes, I'm not sure how the main story will resume. Is it possible for it to auto-play (resume) in some way? My last resort would be to have the viewer select a play button - this is only because I do not want a break in the narrative and want to limit the amount of clicks the viewer has to make.