{% extends "autocomplete.html" %}{% comment %} This is a custom template for django-ajax-selects version 1.2+ (not for 1.1.4/5). Channel: postman_multiple_as1-2 Form Field: AutoCompleteField Usage: Entering of multiple values. There is no such template provided in the django-ajax-selects application. {% endcomment %} {% block script %} addAutoComplete("{{html_id}}", function(html_id) { function split(val) { return val.split(/,\s*/); } function extractLast(term) { return split(term).pop(); } $("#"+html_id) // don't navigate away from the field on tab when selecting an item .bind("keydown", function(event) { if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) { event.preventDefault(); } }) .autocomplete({ source: function(request, response) { $.getJSON("{{lookup_url}}", { term: extractLast(request.term) }, response); }, search: function() { // custom minLength var term = extractLast(this.value); if (term.length < {{min_length}}) { return false; } }, focus: function() { // prevent value inserted on focus return false; }, select: function(event, ui) { var terms = split(this.value); // remove the current input terms.pop(); // add the selected item terms.push(ui.item.value); // add placeholder to get the comma-and-space at the end terms.push(""); this.value = terms.join(", "); $(this).trigger("added"); return false; } }).autocompletehtml(); }); {% block extra_script %}{% endblock %} {% endblock %}