jquerymobile:显示多个数据过滤器

jquery mobile: multiple data-filters showing

本文关键字:数据 过滤器 显示 jquerymobile      更新时间:2023-09-26

我正试图在jquery mobile中创建一个列表视图控件,该控件能够扩展和显示某些列表项的子项。我的目标是这个列表是可过滤的,jquery-mobiledatafilter="true"属性就足够了。不幸的是,它似乎被<u 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/.

您可以使用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是列表视图的容器元素的类。

JQM中的嵌套列表也遇到了同样的问题。

我把它搞砸了,如果你从额外的<ul>会解决你的问题,然而,你会失去你的JQM风格,这不是你想要的。我们都想要JQM的流畅布局和造型。

JQM应该修复这个问题,因为我也觉得这可能是一个错误,因为我在文档中没有找到任何关于这个的东西。