I'm using the Chosen plugin for jQuery and would like the search behavior to change a bit (single select). Searching only results in hits where the beginning of a word in the seach string matches. I would like to extend this to also hit words after slash and brackets.
For example: search string: "second" does not match items "first/second" or "first (second)".
I doubt this is changeble by simply adding options to constructor, but I am willing to change/hardcode source script.
Chosen: https://github.com/harvesthq/chosen
As mentionned in some more recent answers, the plugin now implemements an option to change the search behavior:
search_contains: true
Options documentation
The plugin does not provide an option to change the search method behavior.
If you're willing to change the plugin source itself, here's a way to do it.
The method that makes the search in the plugin is Chosen.prototype.winnow_results
. It uses a regular expression that matches text that "starts with" the search term:
// "^": means "starts with" // "searchText" is the text in the search input (it is just cleaned up don't be scared) regex = new RegExp('^' + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
Change it to:
regex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
DEMO
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With