无法以编程方式关闭 jQuery 移动弹出窗口中的可折叠项

Can't programmatically close collapsible in jQuery mobile popup

我的项目有一个包含多个可折叠元素的弹出窗口。首次显示弹出窗口时,可折叠元素会折叠。用户展开一个或多个元素,然后执行操作。

问题是我想在用户执行操作后重置弹出窗口,以便在下次显示弹出窗口时关闭所有可折叠项。我试图触发崩溃,如下所示。我已经阅读了几篇建议此触发器应该起作用的帖子,但我没有成功。下面包含一个 jsfiddle。 jsfiddle 中的示例只有一个可折叠元素,但显示了问题....

非常感谢您的帮助和建议。

 $('#manageChecklistPopup').on('popupafterclose', function(event) {
        // collapse not working :(
        console.log('popup has closed.');

        $('.ui-collapsible').trigger('collapse');

    });

https://jsfiddle.net/qyg53ejy/

您需要调用collapse method,不触发事件:

$('#createChecklist').collapsible( "collapse" );

Updated FIDDLE

您可以执行以下操作之一来关闭可折叠内容:

提供的调用折叠方法但是 jQuery ui

$('#createChecklist').collapsible( "collapse" );

或触发点击(您必须先检查它是否打开,否则点击将打开它):

$('#createChecklist .ui-collapsible-heading-toggle').trigger('click');

或删除 class:

$('#createChecklist .ui-collapsible-content').addClass('ui-collapsible-content-collapsed');

演示:https://jsfiddle.net/qyg53ejy/2/