0

我被我的 JQuery Mobile 应用程序困住,试图动态填充页面的列表视图。我启动并运行它,但发现它仅在我直接请求页面(例如 mydomain.com/page.html)时才有效,当我从另一个 JQM 页面链接到该页面时,它仅在使用刷新按钮后才有效浏览器。

这是我的 JS 代码。

                $(function() {
                    var dirs=window.location.pathname.split('/'),
                    current_dir =dirs[dirs.length-2];
                    var vars = [], hash;
                    var q = document.URL.split('?')[1];
                    if(q != undefined){
                        q = q.split('&');
                        for(var i = 0; i < q.length; i++){
                            hash = q[i].split('=');
                            vars.push(hash[1]);
                            vars[hash[0]] = hash[1];
                        }
                    }
                                alert(current_dir);

                    $.getJSON("../json.php",{
                        section: current_dir,
                        id: vars['id'],
                        query: vars['q']
                    }, 
                    function(json){     
                                if (json.mededeling) {
                                $("#recent").append('<li data-role="list-divider" role="heading">Mededelingen<span class="ui-li-count">'+json.mededeling.length+'</span></li>');
                                //loop through deals
                                $.each(json.mededeling,function(i,item){
                                    $("#recent").append('<li><a href="nieuws/='+item.id+
                                                        '" data-transition="slide">'+
                                                        '<h3>'+item.title +'</h3>'+
                                                        '<p>'+item.subtitle+'</p></a></li>');
                                 });
                                } 
                                if (json.nieuws) {
                                 $("#recent").append('<li data-role="list-divider" role="heading">Nieuws<span class="ui-li-count">'+json.nieuws.length+'</span></li>');
                                //loop through deals
                                $.each(json.nieuws,function(i,item){
                                    $("#recent").append('<li><a href="news.html?'+item.id+
                                                        '" data-transition="slide">'+
                                                        '<h3>'+item.title +'</h3>'+
                                                        '<p>'+item.subtitle+'</p></a></li>');
                                 });
                                }
                                if (json.onderwijs) {
                                 $("#recent").append('<li data-role="list-divider" role="heading">Onderwijs vandaag<span class="ui-li-count">'+json.onderwijs.length+'</span></li>');
                                //loop through deals
                                $.each(json.onderwijs,function(i,item){
                                    $("#recent").append('<li><a href="onderwijs/index.html?'+item.id+
                                                        '" data-transition="slide">'+
                                                        '<h3>'+item.title +'</h3>'+
                                                        '<p>'+item.speaker+'</p></a></li>');
                                 });
                                }
                                 $("#recent").listview('refresh');
                            });
                });             

所以我猜想这与 JQM 的 AJAX 调用有关。

我进行了广泛的搜索,但现在我真的迷路了。

非常感谢任何让我回到正轨的帮助!

谢谢

4

1 回答 1

0

它在我第一次尝试更改事件侦听器后工作

$(document).on('pagebeforeshow', function(){
于 2013-07-30T18:57:59.630 回答