将"Data-Filter"代码中的True添加到UL中,但不会显示在页面上

Tod*_*nce 1 jquery-mobile

所以如果有一定数量的LI,我想将数据过滤器添加到UL.我让attr正确添加,但页面上没有任何内容.

 else
               {
                    $('#presentations').attr("data-filter", "true");
                        $('#presentations').html('');
                              for (var i = 0; i < results.rows.length; i++) {
                                       $('#presentations').append(
                                       '<li><a href="javascript: loadPresentation(\'' + results.rows.item(i).presentName + '\';");">' + results.rows.item(i).presentName + '</a>'
                                    + '<a href="javascript: deleteConfirm(\'' + results.rows.item(i).presentName + '\');">delete</a></li>');
                                    }
                                   }
                                $('#presentations').listview('refresh');
                                $.mobile.changePage($('#dashboard'), {reloadPage: "true"} );
                                $('#dashboard .message').text('Your presentations');
                            }
Run Code Online (Sandbox Code Playgroud)

我猜它是一个缓存问题,但我无法弄清楚如何解决它.救命?

Ger*_*ine 5

我试图重新初始化,重新创建或刷新列表视图,但没有一个工作.

我能让它发挥作用的唯一方法是:

    $('#listview').listview('option', 'filter', true);
    $('#listview').trigger("listviewcreate");
Run Code Online (Sandbox Code Playgroud)

因此,您可以触发手动listviewcreate事件,然后将过滤器设置为true.(设置attr(), data() or jqmData()也不起作用)

示例:http: //jsfiddle.net/N7Z9e/143/

  • 真是太棒了!非常感谢...没有人能够为我回答这个问题.我必须在示例中添加一个东西,我仍然必须在触发器之前调用refresh来获取由JQmobile设置样式的LI项.但这就是答案.再次感谢!!! (2认同)