function ajax_example_unique_node_autocomplete_callback in Examples for Developers 7
Autocomplete callback for nodes by title.
Searches for a node by title, but then identifies it by nid, so the actual returned value can be used later by the form.
The returned $matches array has
- key: The title, with the identifying nid in brackets, like "Some node title [3325]"
- value: the title which will is displayed in the autocomplete pulldown.
Note that we must use a key style that can be parsed successfully and unambiguously. For example, if we might have node titles that could have [3325] in them, then we'd have to use a more restrictive token.
Parameters
string $string: The string that will be searched.
1 string reference to 'ajax_example_unique_node_autocomplete_callback'
- ajax_example_menu in ajax_example/
ajax_example.module - Implements hook_menu().
File
- ajax_example/
ajax_example_autocomplete.inc, line 218 - ajax_example_autocomplete.inc
Code
function ajax_example_unique_node_autocomplete_callback($string = "") {
$matches = array();
if ($string) {
$result = db_select('node')
->fields('node', array(
'nid',
'title',
))
->condition('title', db_like($string) . '%', 'LIKE')
->range(0, 10)
->execute();
foreach ($result as $node) {
$matches[$node->title . " [{$node->nid}]"] = check_plain($node->title);
}
}
drupal_json_output($matches);
}