Hi there!
I have a question to you. Is it possible to use Meteor in that use:
I have an input on my site, for example: to fill in a name.
When I push “M” buton, for example, I want to have a return from my database (collection) some names which start on “M”. Something like a prompt under my input - I could pass between those names with keys, pushing enter accept one of those returned names and fill the input.
I’m interested in this answer too. In fact, I am looking for fuzzy search. It looks like twitter typeaheadJS has this functionality, and there is a meteor package, but I’m looking for something a little lighter weight and without the bootstrap styling.
Sorry for all the posts. Here is what I just worked out for my project. Create a reactive var for your Template:
Template.mytemplate.created = function () {
this.searchString = new ReactiveVar("");
};
Then use this in your helper for dynamic/reactive search:
Template.mytemplate.helpers({
items: function () {
var searchString = Template.instance().searchString.get();
var regExSearch = new RegEx(searchString, "i");
return Items.find({name: {$regex: regExSearch}});
}
});
This will match anywhere in the word. If you only want to match in the beginning, use an anchor at the start of your RegEx search (e.g. RegEx('^' + searchString, "i") )
Finally, register an event to listen to the keypress event and update your searchString reactive var. This seems to be working perfectly for me.
easysearch, typeahead, mizzao:autocomplete etc… etc
But autoform is fully integrated with select2, so that one is probably the best practice if you plan to have some forms on site.