2
0
mirror of https://github.com/devbridge/jQuery-Autocomplete.git synced 2025-01-03 14:47:25 +00:00

Merge pull request #294 from armno/master

Enable syntax highlighting in readme file
This commit is contained in:
Tomas Kirda 2015-01-09 09:52:17 -06:00
commit 4ca8fc3c5b

View File

@ -67,31 +67,40 @@ Autocomplete instance has following methods:
There are two ways that you can invoke Autocomplete method. One is calling autocomplete on jQuery object and passing method name as string literal.
If method has arguments, arguments are passed as consecutive parameters:
```javascript
$('#autocomplete').autocomplete('disable');
$('#autocomplete').autocomplete('setOptions', options);
```
Or you can get Autocomplete instance by calling autcomplete on jQuery object without any parameters and then invoke desired method.
```javascript
$('#autocomplete').autocomplete().disable();
$('#autocomplete').autocomplete().setOptions(options);
```
##Usage
Html:
```html
<input type="text" name="country" id="autocomplete"/>
```
Ajax lookup:
```javascript
$('#autocomplete').autocomplete({
serviceUrl: '/autocomplete/countries',
onSelect: function (suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
```
Local lookup (no ajax):
```javascript
var countries = [
{ value: 'Andorra', data: 'AD' },
// ...
@ -104,32 +113,38 @@ Local lookup (no ajax):
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
```
##Styling
Generated HTML markup for suggestions is displayed bellow. You may style it any way you'd like.
```html
<div class="autocomplete-suggestions">
<div class="autocomplete-group"><strong>NHL</strong></div>
<div class="autocomplete-suggestion autocomplete-selected">...</div>
<div class="autocomplete-suggestion">...</div>
<div class="autocomplete-suggestion">...</div>
</div>
```
Style sample:
```css
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }
```
##Response Format
Response from the server must be JSON formatted following JavaScript object:
```javascript
{
// Query is not required as of version 1.2.5
"query": "Unit",
@ -139,21 +154,25 @@ Response from the server must be JSON formatted following JavaScript object:
{ "value": "United States", "data": "US" }
]
}
```
Data can be any value or object. Data object is passed to formatResults function
and onSelect callback. Alternatively, if there is no data you can
supply just a string array for suggestions:
```json
{
"query": "Unit",
"suggestions": ["United Arab Emirates", "United Kingdom", "United States"]
}
```
## Non standard query/results
If your ajax service expects the query in a different format, and returns data in a different format than the standard response,
you can supply the "paramName" and "transformResult" options:
```javascript
$('#autocomplete').autocomplete({
paramName: 'searchString',
transformResult: function(response) {
@ -164,15 +183,18 @@ you can supply the "paramName" and "transformResult" options:
};
}
})
```
## Grouping Results
Specify `groupBy` option of you data property if you wish results to be displayed in groups. For example, set `groupBy: 'category'` if your suggestion data format is:
```javascript
[
{ value: 'Chicago Blackhawks', data: { category: 'NHL' } },
{ value: 'Chicago Bulls', data: { category: 'NBA' } }
]
```
Results will be formatted into two groups **NHL** and **NBA**.
@ -180,7 +202,9 @@ Results will be formatted into two groups **NHL** and **NBA**.
If you use it with jQuery UI library it also has plugin named `autocomplete`. In this case you can use plugin alias `devbridgeAutocomplete`:
```javascript
$('.autocomplete').devbridgeAutocomplete({ ... });
```
##License