我正在使用jQuery Mobile Filter List: http://jquerymobile.com/test/docs/lists/lists-search-with-dividers.html
是否可以移动输入字段的位置,以便将其放入页面上已有的div中?
使用jQuery的appendTo似乎工作正常,但它是一种hacky解决方案。感谢
答案 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/