0

我使用 jQuery Mobile 过滤器列表:http: //jquerymobile.com/test/docs/lists/lists-search-with-dividers.html

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

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

4

1 回答 1

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 演示:http: //jsfiddle.net/cZW5r/30/

于 2012-09-25T11:56:45.560 回答