【问题标题】:Jquerymobile filter listview not working when fetching data dynamically动态获取数据时,Jquerymobile 过滤器列表视图不起作用
【发布时间】:2015-04-13 17:11:36
【问题描述】:

动态获取数据时,Jquerymobile 过滤器列表视图不起作用

使用 url getfilms.php 显示数据的代码

var xmlhttp = new XMLHttpRequest();
    var url = "./getfilms.php";
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            myFunction(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send();

    function myFunction(response) {
        var arr = JSON.parse(response);
        //var arr = obj.records;
        var i;
        var out = "";
        for (i = 0; i < arr.length; i++) {
            out += "<li><a href ='" + arr[i].Path + "'>" + arr[i].Film + "</a></li>";
        }
        document.getElementById("searchfilmsbyname").innerHTML = out;
    }

使用id="searchfilmsbyname"在html端显示listview的代码

<ul data-role="listview"  data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search films..." data-inset="true" id="searchfilmsbyname">

</ul>

【问题讨论】:

    标签: javascript jquery ajax jquery-mobile


    【解决方案1】:

    使用下面的代码。向 listview 添加动态数据时使用$( ".selector" ).listview( "refresh" ); 方法。在这里阅读更多关于refresh

     function myFunction(response) {
        var arr = JSON.parse(response);
        //var arr = obj.records;
        var i;
        var out = "";
        for (i = 0; i < arr.length; i++) {
            out += "<li><a href ='" + arr[i].Path + "'>" + arr[i].Film + "</a></li>";
         if((i+1) == arr.length){
             document.getElementById("searchfilmsbyname").innerHTML = out;
             //  $("#searchfilmsbyname").html( out );  you can use this jquery method to add html inside list view
             $("#searchfilmsbyname").listview('refresh');
           }
        }
    
    }
    

    【讨论】:

    • 我想在此处添加动态链接,例如 "
    • " + arr[i]。 Film + "
    • " 将在点击时加载到 filmdetails id 并从 php 获取数据,例如 filmdetails.php?filmId=3 并显示。
  • @RRPandey "filmdetails" 是不同的页面 id 吗?
  • 我正在使用 jquerymobile,所以它的 id 会从 filmdetails.php?filmId=3 获取数据到这个 id。 fetchFilmDetails 不起作用
  • 是的,但我在 jquery 移动页面中所说的是基于 id 的加载对吗?所以我要问的是'#filmdetails' 是页面ID,当页面加载或其当前页面上的元素需要在同一页面中加载数据时,您在其中加载数据?
  • page id 是电影,div id 是#filmdetails
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签