Javascript Jquerymobile-用于展开/折叠所有

Javascript Jquerymobile-用于展开/折叠所有,javascript,button,jquery-mobile,collapse,expand,Javascript,Button,Jquery Mobile,Collapse,Expand,我尝试用一个按钮函数来展开或折叠整个列表。 我找到了这个网站,但我想用一个按钮。 我试着这样做: <script> $(document).on("pagecreate", "#punktyKontrolne", function () { $(document).on("click", ".collapseExpand", function(){ if ($('#listviewContent').hasClass("ui

我尝试用一个按钮函数来展开或折叠整个列表。 我找到了这个网站,但我想用一个按钮。 我试着这样做:

<script>
      $(document).on("pagecreate", "#punktyKontrolne", function () {
          $(document).on("click", ".collapseExpand", function(){
              if ($('#listviewContent').hasClass("ui-collapsible-collapsed")){
                $('#listviewContent [data-role="collapsible"]').collapsible("option", "collapsed", false);
              }
              else {
                var collapseAll = this.id == "ZwinRozwinWszystko";
                $('#listviewContent [data-role="collapsible"]').collapsible("option", "collapsed", collapseAll);
              }

          });
      });
    </script>

$(文档)。在(“页面创建”上,在“punktyKontrolne”上,函数(){
$(document).on(“click”,“.collapseExpand”,function()){
if($('#listviewContent').hasClass(“ui可折叠折叠”)){
$(“#listviewContent[data role=“Collapsable”]”)。可折叠(“option”,“collapsed”,false);
}
否则{
var collapseAll=this.id==“ZwinRozwinWszystko”;
$(“#listviewContent[data role=“Collapsable”]”)。可折叠(“选项”,“折叠”,collapseAll);
}
});
});
但它不起作用。仅适用于折叠(代码中的其他项)


谢谢你的帮助。

我写了你链接的那篇文章

这取决于你的具体要求Omar在该网站上给出了一个很好的回复,如果任何一个网站崩溃,它将全部展开,否则它将全部崩溃:

$(document).on("click", ".collapseExpand", function(){
    var collapseAll = $('#filterList [data-role="collapsible"] .ui-collapsible-heading-collapsed').length > 0 ? "expand" : "collapse";
    $('#filterList [data-role="collapsible"]').collapsible(collapseAll);
});

另一方面,如果您只想执行与上次单击按钮时相反的操作,而不管当前展开/折叠了多少项,则可以将以前的状态保存到数据属性:

$(document).on("click", ".collapseExpand", function(){
    var collapseAll = $(this).data("expand") == false ;
    $('#filterList [data-role="collapsible"]').collapsible("option", "collapsed", collapseAll);
    $(this).data("expand", collapseAll ? false : true);
});

最后,如果要展开所有折叠的项目,并折叠所有已展开的项目,换句话说,每个项目都会翻转其当前展开状态:

$(document).on("click", ".collapseExpand", function(){
    $('#filterList [data-role="collapsible"]').each(function(idx){
        $(this).collapsible("option", "collapsed", $(this).find('.ui-collapsible-heading-collapsed').length > 0 ? false : true);
    });
});