javascript - 使用 JQuery mobile 创建 ListView 无法正常工作 II

标签 javascript listview jquery-mobile dynamic

很抱歉再次打扰您,但该 ListView 遇到了另一个问题。 Gajotres ( look here ) 的答案当然有效,但实际上我的代码有点复杂:我提到的 ListView 位于动态创建的弹出窗口中。而且"new"刷新没有帮助。我的代码:

   var HlpStr =  'Wählen Sie die Checklist, die Sie laden wollen, durch Anklicken aus. '
            + '\n\nDer Download wird über die Schaltfläche "Checkliste laden" gestartet.' 
            + '\n\n Sie müssen mit dem Internet verbunden sein, um die Registrierung auszuführen!';

var html = "";
html += '<div data-role=header  data-theme="d">';
html +=   '<h1>Market-Value Checkliste laden</h1>';   
html += '</div>';

html += '<div data-role=content>';
html +=    '<p>' +  HlpStr + '</p>'; 
html +=    '<p> </p>'; 
html +=    "<ul id='ChecklistListex' data-role=listview data-theme='d' data-divider-theme='d' data-inset=true>";
html +=       '<li id="listDividerAktuelleChecklistx" data-role=list-divider>yyy Checklist</li>';
html +=       "<li id='LoadChecklistx'> <a> Checkliste laden </a></li>";
html +=    "</ul>"
html +=    '<p> </p>'; 
html +=    '<a id=BTNChecklisteLaden data-role="button" data-inline="true" data-mini="true" >Checkliste laden</a>';      
html +=    '<a id=BTNChecklisteLadenAbbrechen data-role="button" data-inline="true" data-mini="true" >abbrechen</a>';      
html += '</div>';

    var $popUp = $('<div align="center" />').popup({
        id : "DialogChecklistLaden",
        dismissible : false,
        theme : "b",
        positionTo : "window",
        tolerance : "30,40",
        overlayTheme : "b",
        transition : "pop",
        "data-add-back-btn": "true"
    }).bind("popupafterclose", 
       function() {
                    //remove the popup when closing
           $(this).remove();
    });
    $(html).appendTo($popUp);    
    $popUp.popup("open").trigger("create");

这是我得到的:see picture here http://www.market-value.de/downloads/ul.jpg

我必须做什么才能使其正常工作?

最佳答案

我来谈谈你的问题。在显示弹出窗口之前,您应该将其附加到页面内容中。主要是因为 trigger('create') 用于内容 DIV,而在其他任何内容上使用它没有意义。在这种情况下,弹出窗口需要成为页面的一部分,trigger('create') 才能正常工作。虽然 trigger('create') 可以在内容 div 之外工作,但在 data-role="content"上使用它是一个安全的举动。

工作示例:http://jsfiddle.net/Gajotres/WC6ud/

$(document).on('pagebeforeshow', '#index', function(){ 
    var html = "";
    html += '<div data-role=header  data-theme="d">';
    html +=   '<h1>Market-Value Checkliste laden</h1>';   
    html += '</div>';

    html += '<div data-role=content>';
    html +=    '<p>Meh</p>'; 
    html +=    '<p> </p>'; 
    html +=    "<ul id='ChecklistListex' data-role=listview data-theme='d' data-divider-theme='d' data-inset=true>";
    html +=       '<li id="listDividerAktuelleChecklistx" data-role=list-divider>yyy Checklist</li>';
    html +=       "<li id='LoadChecklistx'> <a> Checkliste laden </a></li>";
    html +=    "</ul>"
    html +=    '<p> </p>'; 
    html +=    '<a id=BTNChecklisteLaden data-role="button" data-inline="true" data-mini="true" >Checkliste laden</a>';      
    html +=    '<a id=BTNChecklisteLadenAbbrechen data-role="button" data-inline="true" data-mini="true" >abbrechen</a>';      
    html += '</div>';

    var $popUp = $('<div align="center" />').popup({
        id : "DialogChecklistLaden",
        dismissible : false,
        theme : "b",
        positionTo : "window",
        tolerance : "30,40",
        overlayTheme : "b",
        transition : "pop",
        "data-add-back-btn": "true"
    }).bind("popupafterclose", 
            function() {
                //remove the popup when closing
                $(this).remove();
            });
    $(html).appendTo($popUp);    
    $popUp.appendTo('#DivChecklistListe');
    $('#DivChecklistListe').trigger('create');
    $('#DialogChecklistLaden').popup("open");
});

关于javascript - 使用 JQuery mobile 创建 ListView 无法正常工作 II,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749575/

相关文章:

javascript - 迭代对象数组,并将每个对象保存到 MongoDB

javascript - 我怎样才能让 JSLint 停止提示 Ember.js ".property()"s?

android - 无法解析方法 getListView 和 setListAdapter (Android)

html - 在 jquery-mobile 中,如何以编程方式添加具有所有 css 的页面元素?

javascript - Jquery Mobile 面板在页面更改时可见

javascript - 两个具有 keyup 功能的输入字段

javascript - 在html中插入制表符或空格

安卓。两个完全适合屏幕的 imageViews

java - Android java Binder 失败的 Binder 交易

button - 如何使用 Knockout.js 绑定(bind)一组动态 jQuery Mobile 按钮?