Jquery Mobile List自定义筛选器搜索

时间:2014-10-16 19:30:26

标签: javascript jquery jquery-mobile

我想从Jquery Mobile列表更改默认过滤器,例如:

<ul data-role="listview" data-filter="true" data-filter-placeholder="Search fruits..." data-inset="true">
    <li><a href="#">Apple</a></li>
    <li><a href="#">Banana</a></li>
    <li><a href="#">Cherry</a></li>
    <li><a href="#">Cranberry</a></li>
    <li><a href="#">Grape</a></li>
    <li><a href="#">Orange</a></li>
</ul>

我从jquery移动API文档中找到了这个页面,展示了如何做。

Jquery Mobile Documentation Custom Filter Example

这是代码。它将按行号搜索,而不是按文本搜索:

$( document ).on( "mobileinit", function() {
    $.mobile.filterable.prototype.options.filterCallback = function( index, searchValue ) {
        var idx;

        if ( searchValue ) {
            searchValue = searchValue.split( "," );
            searchValue = $.map( searchValue, function( element ) {
                var ar = element.split( "-" );
                    return ar.length === 1 ? parseInt( element ) :
                        [ [ parseInt( ar[ 0 ] ), parseInt( ar[ 1 ] ) ] ];
            });
            for ( idx = 0 ; idx < searchValue.length ; idx++ ) {
                if ( ( $.type( searchValue[ idx ] ) === "number" &&
                        index === searchValue[ idx ] ) ||
                    ( $.type( searchValue[ idx ] ) === "array" &&
                        index >= searchValue[ idx ][ 0 ] &&
                        index <= searchValue[ idx ][ 1 ] ) ) {
                    return false;
                }
            }
        }

        return !!searchValue;
    };
});

但是,不幸的是,我无法使其发挥作用。

这就是我所做的。上述文档中的相同代码:

My example

我希望有人帮助我找到解决方案^^

另一个问题。

如果我在身体末端使用我的javascripts,它将如何运作?

感谢您的关注。

0 个答案:

没有答案