]>
Commit | Line | Data |
---|---|---|
19f2f11e NL |
1 | jQuery(function($) { |
2 | ||
3 | function split( val ) { | |
4 | return val.split( /,\s*/ ); | |
5 | } | |
6 | function extractLast( term ) { | |
7 | return split( term ).pop(); | |
8 | } | |
9 | ||
10 | ||
11 | $("#value").bind("keydown", function(event) { | |
12 | if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) { | |
13 | event.preventDefault(); | |
14 | } | |
15 | }).autocomplete({ | |
16 | source : function(request, response) { | |
17 | $.getJSON("./?view=tags", { | |
18 | term : extractLast(request.term), | |
19 | //id: $(':hidden#entry_id').val() | |
20 | }, response); | |
21 | }, | |
22 | search : function() { | |
23 | // custom minLength | |
24 | var term = extractLast(this.value); | |
25 | if (term.length < 1) { | |
26 | return false; | |
27 | } | |
28 | }, | |
29 | focus : function() { | |
30 | // prevent value inserted on focus | |
31 | return false; | |
32 | }, | |
33 | select : function(event, ui) { | |
34 | var terms = split(this.value); | |
35 | // remove the current input | |
36 | terms.pop(); | |
37 | // add the selected item | |
38 | terms.push(ui.item.value); | |
39 | // add placeholder to get the comma-and-space at the end | |
40 | terms.push(""); | |
41 | this.value = terms.join(", "); | |
42 | return false; | |
43 | } | |
44 | }); | |
45 | ||
46 | ||
47 | }); |