【问题标题】:jquery mobile dynamically extended listview doesn't workjquery mobile动态扩展列表视图不起作用
【发布时间】:2014-10-21 18:06:40
【问题描述】:

我在 JQM 中有一个作为列表视图的菜单。在每一页上它应该是正常的,只有在其中一个上它被扩展了 2 个项目。现在,我一直在互联网上搜索,但没有任何效果。我尝试过的事情:

-location.reload()
-trigger('create')
-$("#menuList").listview().listview('refresh');
-$("#menuList").create;
-child.create

也许还有更多。这是代码: DOM

<div id="menu" data-role="panel" data-display="push">
<center>
    <a href="" data-rel="close" class="ui-btn ui-shadow ui-corner-all ui-icon-delete ui-btn-icon-notext"></a><br />
    <ul id="menuList" data-role="listview">
        <li><a data-rel="close" href="index" class="ui-btn">Home</a></li>
        <li><a data-rel="close" href="providers" class="ui-btn">providers</a></li>
        <li><a data-rel="close" href="seekers" class="ui-btn">seekers</a></li>
        <li><a data-rel="close" href="add" class="ui-btn">add</a></li>
        <li><a data-rel="close" href="logout" class="ui-btn">logout</a></li>
    </ul>
</center>

JS:

$( document ).delegate("#providers", "pagebeforeshow", function() {
function addMenuButtons()
{
    var ul = $("#menuList");
    //var hr = document.createElement("hr");
    //ul.append(hr);
    for( var i in buttons )
    {
        var name = buttons[i].split(',');
        /*var a = document.createElement("a");
        a.setAttribute("data-rel","popup");
        a.className = "ui-btn ui-corner-all ui-shadow" ;
        a.id = name[1]+"Button";
        a.href = "#"+name[1];
        a.innerHTML = name[0] ;
        var li = document.createElement("li");
        li.appendChild(a);
        ul.append(li);*/
        //a.create;
        $("#menuList").html( $("#menuList").html()+"<li><a data-rel='popup' class='ui-btn ui-corner-all ui-shadow' id='"+name[1]+"+Button' href='#"+ name[1] +"'>"+ name[0] +"</a></li>" );
    }
    //$("#menuList").trigger('create');
    $("#menuList").listview();//.listview('refresh',true);
}

addMenuButtons();
});

buttons- 我制作的对象,在这里无关紧要。有什么想法吗?我一直在尝试解决这个问题。当我按 F5 页面时,菜单会正确更新...

【问题讨论】:

  • 你用的是哪个版本?
  • 1.4.4,不管怎样,伙计们,我是用 php 做的,但这并不能让我满意,因为迟早我必须用 js 来做这件事,在某些情况下这可能是唯一的选择.所以我仍在等待任何帮助/示例...
  • 是的 :) 谢谢!问题似乎在这里: $.mobile.pageContainer.pagecontainer... 很奇怪...
  • 看起来您的目标列表视图不正确。如果您添加更多详细信息,则很容易发现错误。

标签: javascript android jquery listview jquery-mobile


【解决方案1】:

在更改的小部件的父级上使用 .enhanceWithin()。

 $('.parent').enhanceWithin();

参考: .enhanceWithin()

【讨论】:

  • 如果你创建一个 jsfiddle 演示,我会看看。由于列表视图已更改,请调用列表视图父级上的函数。
猜你喜欢
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
相关资源
最近更新 更多