A text field that searches using Ajax. The user is presented with a readable string, while internally the widget uses ID values. This is useful for foreign key relations to large tables, e.g. contact lists.
When the widget loses focus, it submits the value to a server-side controller method, that you define. The method will perform a search, returning the results to the client. If there is an exact match, the widget changes visually to confirm this; with multiple matches, the user must pick from a list. The controller method may call the ajax_helper method, to assist with its task. If ajax_helper is used, the data source must have a member function called text_search that takes a single string as a parameter, and returns a list of matching objects.