jQuery-UI autocomplete in Aurelia
It’s relatively easy to setup jQuery-UI’s autocomplete in Aurelia, but I did encounter an error (like this user on SO) when I tried to use it. Unfortunately installing by “jspm install jquery-ui” resulted in an $(…).autocomplete is not a function” error.
No problem. Let’s load it through npm:
jspm install npm:jquery-ui
Now we can add the imports it in our viewmodel:
import {autocomplete} from ‘jquery-ui’;
import ‘jquery-ui/themes/cupertino/jquery-ui.css!’; // whatever theme you want
After this it’s pretty straightforward. Let’s insert an image before the label to make things more interesting:
attached(){ var members = [ { value: "Rick", label: "Rick", desc: "group leader", icon: "styles/images/rick.jpg" }, { value: "Coral!", label: "Carl", desc: "future leader w/ eyepatch", icon: "styles/images/carl.jpg" } ]; $( "#members" ).autocomplete({ minLength: 0, source: members, select: function( event, ui ) { console.log(ui.item.value); } }).data("uiAutocomplete")._renderItem = function (ul, item) { return $("<li />") .data("item.autocomplete", item) .append("<a><img height='25' width='25' src='" + item.icon + "' />" + item.label + "</a>") .appendTo(ul); }; }
View
<label for=”members”>Members: </label>
<input id=”members” type=”text” />