当数据刷新时,jQuery UI手风琴不工作

jQuery UI accordion not working when data is refreshed

本文关键字:UI 手风琴 工作 jQuery 数据 刷新      更新时间:2023-09-26

我有一个HTML页面,其中的数据被动态加载到手风琴。手风琴调用是从函数内部发生的。定期调用该函数以刷新数据。手风琴第一次显示正确,但在刷新数据时被销毁。以下是一些相关代码:

HTML:

...
    <div id="itemsList"></div>
...
JavaScript:

function updateList() {
    var storedStates = startSpinner(spinner, 'itemsList');
    $.post('interface/getitemss.php', 
        function(data) {
            var dataObj = $.parseJSON(data);
            if(dataObj.status == 0) {
                var itemDetails = dataObj['data'];
                $("#itemsList").html("");
                var infoLevel = getInfoLevel();
                for (var i = 0; i < itemsDetails.length; i++) {
                    var rowContent = "<h3>";
                    if (item.type == 3 && item.approvals > 0) {
                        rowContent += "<span class='" + qaprColor + "'>";
                        rowContent += "<i class='icon-bell'></i>" + space + item.approvals + "</span>" + pipespace;
                    }
                    ...
                    rowContent += "</div>";
                    $("#itemsList").append(rowContent);
                } 
                $("#itemsList").accordion();

else在代码中,我使用这个:

var intervalTimer = setInterval(function() {updateList();}, <?php echo $interval; ?>);

调用updateList()方法定期更新数据。问题是,在调用此方法的那一刻,之前工作的手风琴被破坏,数据看起来像普通的HTML。有人知道这是怎么解决的吗?谢谢! !

在再次创建手风琴之前,您是否尝试过在手风琴上调用destroy ?

$("#itemsList").accordion( "destroy" );
$("#itemsList").accordion();

API文档