【问题标题】:Change default behavior of data-filter in jQuery mobile更改 jQuery mobile 中数据过滤器的默认行为
【发布时间】:2012-08-13 20:32:56
【问题描述】:

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

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

提前谢谢...

【问题讨论】:

    标签: jquery listview jquery-mobile


    【解决方案1】:

    不幸的是,没有办法为此覆盖 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");
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 2014-11-26
      • 1970-01-01
      • 2015-07-09
      相关资源
      最近更新 更多