Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

simple filterCallback in the options to delegate complex search to en…

…d users
  • Loading branch information...
commit 6bbf830da8772cdbe2ece9d8138c7c1e3c9dcb0e 1 parent 2d7706a
@johnbender johnbender authored
Showing with 4 additions and 1 deletion.
  1. +4 −1 js/
5 js/
@@ -10,6 +10,9 @@
$.mobile.listview.prototype.options.filter = false;
$.mobile.listview.prototype.options.filterPlaceholder = "Filter items...";
$.mobile.listview.prototype.options.filterTheme = "c";
+$.mobile.listview.prototype.options.filterCallback = function( text, searchValue ){
+ return text.toLowerCase().indexOf( searchValue ) === -1;
$( ":jqmData(role='listview')" ).live( "listviewcreate", function() {
@@ -70,7 +73,7 @@ $( ":jqmData(role='listview')" ).live( "listviewcreate", function() {
// New bucket!
childItems = false;
- } else if ( itemtext.toLowerCase().indexOf( val ) === -1 ) {
+ } else if ( listview.options.filterCallback( itemtext, val ) ) {
//mark to be hidden
item.toggleClass( "ui-filter-hidequeue" , true );

3 comments on commit 6bbf830


Is there a reason why returning a truthy value results in a hidden item and not vice versa?

This is just the opposite to what e.g. Python's builtin 'filter' function or Underscore.js' array filter does.



Its a direct port of the original logic and it's certainly up for debate whether that's intuitive. Thanks for commenting.

[UPDATE] I'm going to put this on the list for our discussion this week. Its a small change that'll make this much more usable.


Thanks, I'll follow for possible updates.

Please sign in to comment.
Something went wrong with that request. Please try again.