0

我有一个带有data-filter="true"属性的无序列表。过滤框为空时如何隐藏列表项?我应该覆盖默认的列表视图行为吗?如何?

这实际上是一种解决方法,以便在每个可折叠块中使用 UL 过滤可折叠集。我最后要做的是显示带有隐藏内容的数据过滤器和可折叠集,因此如果用户选择使用过滤器,则应隐藏可折叠集,并且只会显示过滤后的结果。

提前致谢...

4

1 回答 1

0

不幸的是,没有办法为此覆盖 jquery mobile 的默认行为。您需要在 jquery 移动代码之上添加您的处理。尝试以下操作:

为此,您需要按如下方式定义样式表:

  .ui-hidden-component {
    display: none !important;
  }

并添加以下脚本代码:

$(document).delegate('[data-role="page"]', 'pageinit', 
      function() { 
        var $listview = $(this).find('[data-role="listview"][data-filter="true"]'); 
        $(this).delegate('input[data-type="search"]', 'keyup change', 
          function () { 
            var $this = $(this); 
            if ($this.val() == '') {
              $listview.children().addClass("ui-hidden-component");
            } else {
              $listview.children().removeClass("ui-hidden-component");
            }
          });
        if ($('input[data-type="search"]').val() == '') {
          $listview.children().addClass("ui-hidden-component");
        }
    });
于 2012-08-14T14:23:36.977 回答