2011-08-19 47 views
0

我正在開發一個列表,其中包含jQuery Mobile中各項之間的一些分隔符。我還使用屬性data-filter =「true」放置了一個搜索框。但是,該過濾器僅適用於列表項目,而不適用於分隔線,並且希望有可能通過分隔線內容進行過濾。jQuery Mobile篩選器列表,包括搜索分隔線

我在JQM論壇看到了我想要的this post的確切行爲,我不能重複(我想是因爲jQuery版本)。

任何人都可以幫助我嗎?

在此先感謝!

回答

1

我認爲您的問題可以通過jQuery Mobile文件中的一些更改來解決。

查找有關篩選(圍繞第七千三百二十○線)的代碼,找到聲明和刪除代碼的以下部分:

if (item.is("li:jqmData(role=list-divider)")) { 

    item.toggleClass("ui-filter-hidequeue" , !childItems); 

    // New bucket! 

    childItems = false; 

} else 

這工作既jQuery Mobile 1.1.1和jQuery Mobile 1.2.0 Alpha。

我建議你使用未壓縮版本來改變這一點。

+0

這已經在jqm 1.2中實現。 – Adaptabi

0

如果你的意思是說,你要篩選基礎上,分頻器的內容除了個別列表項內容分頻器的「孩子」,你要使用的數據filtertext選項每個listitem。將分隔符文本和列表項文本放在一起放在字符串中。

<ul data-role='listview' data-filter='true'> 
    <li data-role="list-divider">Tallahassee</li> 
    <li data-filtertext="Tallahassee Dog Et Al">Dog Et Al</li> 
    <li data-filtertext="Tallahassee Jim and Milts">Jim and Milts</li> 
    <li data-role="list-divider">Atlanta</li> 
    <li data-filtertext="Atlanta The Varsity">The Varsity</li> 
</ul> 
0

我有同樣的問題,我通過使用數據filtertext屬性強制列表項過濾時,以配合其包裝中列表分隔文本與JQM 1.4.2解決。

<form class="ui-filterable"> 
    <input id="filterBasic-input" data-type="search"> 
</form> 

<ul data-role="listview" data-theme="c" data-input="#filterBasic-input" data-filter-theme="a" data-filter="true" data-filter-placeholder="Filtrer..." data-inset="true"> 
    <li data-role="list-divider" > 
     Countries 
    </li> 

    <li data-filtertext="Countries"> 
     France 
    </li> 

    <li data-filtertext="Countries"> 
     England 
    </li> 

    <li data-filtertext="Countries"> 
     Cameroon 
    </li> 

    <li data-role="list-divider" > 
     Fruits 
    </li> 

    <li data-filtertext="Fruits"> 
     Orange 
    </li> 

    <li data-filtertext="Fruits"> 
     Mango 
    </li> 

    <li data-filtertext="Fruits"> 
     Pineapple 
    </li> 

</ul> 

希望它有幫助!