爱慕啼
爱慕啼
  • 发布:2015-10-05 11:14
  • 更新:2015-10-05 13:41
  • 阅读:1493

换成div模式的侧滑菜单后,index页面的数据列表不显示了

分类:MUI

原来使用hellow mui的webview的侧换菜单,感觉有点卡顿,然后就换成了div模式的侧滑菜单,
但是发现index页面中数据列表无法显示(使用ajax拼接的);

两次console都输出了我想要的值,但在手机上就是不显示?
我还通过取了一下a.querySelectorAll("li").length显示得到了两个,
但是就是不显示

<ul class="mui-table-view mian-list" id="index_main_list">  
</ul>  

index_list();  
var a=document.getElementById('index_main_list');  
console.log(a.querySelectorAll("li").length);  

var index_list = function() {  
        var data = {  
            "dbteacher": "3"  
        };  
        handleData("index_main_list", "http://192.168.0.11/", data);  
}  

function handleData(warp, url, par) {  
    var result=null;  
    par.mobile = mobile;  

    if(city!=null){  
        par.bank_city=city;  
    }  

    console.log("url="+url);  
    for(var i in par){     
        var property=par[i];     
        console.log(i+" = "+property);   
    }     

    mui.ajax(url, {  
        data: par,  
        dataType: 'json',  
        type: 'get',  
        async:false,  
        timeout: 10000,  
        success: function(data) {  
            console.log("data=="+JSON.stringify(data));  

            if (data.status == 0) {  
                console.log(data.status);  
                result="none";  
            }  
            else{  
                handleJson(data.data, warp, par.p);  
            }  

        },  
        error: function(xhr, type, errorThrown) {  
            console.log(type);  
        }  
    });  
    return result;  
}  

function handleJson(data, warp, p) {  
    var dataHtml = "";  
    for (var i = 0; i < data.length; i++) {  
        var id = data[i].user_uid;  
        var name = data[i].name;  
        var photo = data[i].photo;  
        var subtitle = data[i].subtitle;  
        var money = data[i].money;  
//      var eval=Math.round(data.eval_mean);  
        if (p == null || p == ""|| p==1) {  
            dataHtml+= "<li class='mui-table-view-cell mui-media'><a href='javascript:;' id='" + id + "' class='mui_item'><div class='item_title'>" +  
                "<img class='mui-media-object mui-pull-left' src='" + photo_url + photo + "' /><div class='item_title_info'>" +  
                "<p class='user_name'>" + name + "</p><p class='user_course'>" + subtitle + "</p></div></div><div class='mui-media-body clearfix'>" +  
                "<div class='user_price fl'><div><p><span class='price_num'>" + parseInt(money) + "</span>元/时起</p><p><s>机构价:350元</s></p></div></div><div class='user_other fl'>" +  
                "<div><p class='user_other_bottom'><span>256</span>条评论<span>5</span>分</p></div></div></div></a></li>";  
        }   
    }  
    if (p == null || p == ""|| p==1) {  
        console.log(dataHtml);  
        document.getElementById(warp).innerHTML = dataHtml;  
    }  
}  
2015-10-05 11:14 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

在handleJson中打印一下log,看是否执行。

另外,handleData方法中的result变量是没意义的,你代码中直接return的时候应该还是空的,因为ajax是异步返回的。

  • 爱慕啼 (作者)

    但我设置了async:false;


    我在 if (p == null || p == ""|| p==1) {

    console.log(dataHtml);

    document.getElementById(warp).innerHTML = dataHtml;

    }

    中加了log,输出了我要拼接的代码。我在截图中用箭头标的就是。


    我还不放心,在handleJson方法执行后,

    又var a=document.getElementById('index_main_list');

    console.log(a.querySelectorAll("li").length);

    显示ul下,有两个li,但就是看不见,


    因为方法handleData,handleJSON是写在一个专门的js中,是几个页面通用的,一开始用webview的侧滑菜单时也没有问题,所以我想应该不是方法的错误。

    2015-10-05 15:01

  • DCloud_UNI_CHB

    回复 爱慕啼:把完整示例发上来吧

    2015-10-05 15:30

  • 爱慕啼 (作者)

    回复 DCloud_UNI_CHB:您好,我已私信给您发过去了。

    2015-10-05 16:48

该问题目前已经被锁定, 无法添加新回复