更改jQuery Mobile Filter List的输入字段的位置

时间:2012-04-23 16:58:11

标签: jquery-mobile

我正在使用jQuery Mobile Filter List: http://jquerymobile.com/test/docs/lists/lists-search-with-dividers.html

是否可以移动输入字段的位置,以便将其放入页面上已有的div中?

使用jQuery的appendTo似乎工作正常,但它是一种hacky解决方案。感谢

1 个答案:

答案 0 :(得分:2)

这是我在寻找类似问题的解决方案时发现的。

HTML代码示例:

<div data-role="page" id="page-id">
    <div data-role="content">
        <div data-role="fieldcontain">
          <input type="search" name="password" id="search" value="" />
        </div>
        <div class="filter-div" data-filter="one">1</div>
        <div class="filter-div" data-filter="two">2</div>
        <div class="filter-div" data-filter="three">3</div>
        <div class="filter-div" data-filter="four">4</div>
        <div class="filter-div" data-filter="five">5</div>
    </div>
</div>

JS代码示例:

$(document).delegate('#page-id', 'pageinit', function () {
    var $filterDivs = $('.filter-div');
    $('#search').bind('keyup change', function () {
        if (this.value == '') {
            $filterDivs.slideDown(500);
        } else {
            var regxp = new RegExp(this.value),
                $show = $filterDivs.filter(function () {
                    return ($(this).attr('data-filter').search(regxp) > -1);
                });
            $filterDivs.not($show).slideUp(500);
            $show.slideDown(500);
        }
    });
});

这样您就可以将输入文本框放在页面的任何位置,并且应该正确过滤所需的项目列表。

JSFiddle DEMO:http://jsfiddle.net/cZW5r/30/