我正在尝试在jquery-mobile中创建一个listview控件,该控件能够扩展某些列表项并显示子项。我的目标是这个列表是可过滤的,jquery-mobile data-filter =“true”属性就足够了。不幸的是,它似乎是由<继承的。你&l;和< o l>里面的元素,我最终有多个过滤器控件。在jquery中是否有防止这种类型的继承的最佳实践?使用jquery删除无关的表单标签是一个有效的黑客,但我宁愿按照设计做。
这是一个简单的例子:
<div data-role="content">
<div class="choice_list">
<h2>Select an item</h2><br />
<ul data-role="listview" data-inset="true" data-filter="true">
<li><a>Item</a></li>
<li data-role="collapsible">
<h3>Super Item</h3>
<ul data-role="listview" data-inset="true">
<li><a>Sub Item</a></li>
</ul>
</li>
</ul>
</div>
</div>
请看一下这个JSFiddle的例子:http://jsfiddle.net/harlomic/SsJjS/3/。
答案 0 :(得分:2)
您可以使用CSS隐藏三个过滤器输入中的两个:
/*hide all of the search filter forms*/
#test .choice_list form.ui-listview-filter {
display : none;
}
/*show just the first search filter form*/
#test .choice_list form.ui-listview-filter:nth-child(-n+3) {
display : block;
}
以下是演示:http://jsfiddle.net/SsJjS/5/
请注意,test
是找到列表视图的页面的ID,choice_list
是列表视图的容器元素的类。
答案 1 :(得分:1)
我也遇到过JQM中嵌套列表的同样问题。
我搞砸了它,如果你从你的额外&lt;删除data-role =“listview” ul&gt;这将解决您的问题,但是,您将失去您的JQM样式,而这不是您正在寻找的。我们都想要JQM的光滑布局和样式。
JQM应该修复此问题,因为我也觉得这可能是一个错误,因为我在文档中没有找到任何关于此的内容。