所以我有一個列表,在下列方式格式化:過濾與jQuery Mobile的格式化列表
<.ul data-role="listview" data-filter="true">
<.li>
<.h2>header<./h2>
<.p>description<./p>
<./li>
<./ul>
我怎麼能只有頭部分篩選呢?我會很感激的快速回答:)
所以我有一個列表,在下列方式格式化:過濾與jQuery Mobile的格式化列表
<.ul data-role="listview" data-filter="true">
<.li>
<.h2>header<./h2>
<.p>description<./p>
<./li>
<./ul>
我怎麼能只有頭部分篩選呢?我會很感激的快速回答:)
jQuery手機支持過濾列表聖誕節,這應該是你想要達到的罰款。
http://jquerymobile.com/test/docs/lists/docs-lists.html#/test/docs/lists/lists-search.html
編輯:
這表明如何隱藏,並且基於< H2從一個搜索框內容>表演元素。您可能需要爲您的項目調整它,但它應該讓您開始。
<script>
// This makes the contains selector case insensitive
// Use :containsCaseInsensitive in place of :contains()
jQuery.expr[':'].containsCaseInsensitive = function(a, i, m) {
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
// When a key is pressed, hide and show relevant list items
$("#Search").live('keyup', function(e) {
var SearchTerm = $(this).val();
// Find items to hide
var ItemsToHide = $("li", "#ItemList").not(":containsCaseInsensitive("+ SearchTerm +")");
$(ItemsToHide).hide();
// Find items to show
var ItemsToShow = $("h2:containsCaseInsensitive(" + SearchTerm + ")", "#ItemList").parent();
$(ItemsToShow).show();
});
</script>
<input type="text" id="Search">
<ul id="ItemList" data-role="listview" data-filter="true">
<li>
<h2>Item 1</h2>
<p>Winner</p>
</li>
<li>
<h2>Item 2</h2>
<p>description</p>
</li>
<li>
<h2>Lorem</h2>
<p>Some more content</p>
</li>
<li>
<h2>Ipsum</h2>
<p>Content</p>
</li>
</ul>
你是什麼意思頭部分過濾器?你想獲得所有標題列表? – Henry
不,我希望顯示所有內容,但是應該考慮僅過濾標題部分。如果我們有2條記錄: Arti 雙色 餅乾怪物 反社會反社會。 當我在搜索欄中輸入'a'時,雖然我只需要第一個記錄,但因爲第二個(其他)在頭部不包含'a',所以我得到了兩個記錄。 – Rufix