2013-07-19 64 views
2

很抱歉再次打擾您,但遇到了另一個與該ListView有關的問題。 Gajotres(look here)的答案當然適用,但實際上我的代碼有點複雜:我提到的ListView是在一個動態創建的彈出窗口中。並且「新」刷新沒有幫助。我的代碼:使用JQuery移動創建ListView無法正常工作II

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

我要什麼都得到它的工作?

回答

2

讓我來談談你的問題。在顯示彈出窗口之前,您應該將其附加到頁面內容中。主要是因爲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"); 
}); 
+1

不,不,你說得對接受的答案。我自己在一個Delphi論壇中進行活動,並且贊同它。我期待着,但沒有找到任何可以做到的事情。正如我現在所知道的那樣,我要齋戒......這一次,我立即看到了「檢查員」。現在對於我的問題:這是否意味着我必須在我的主html(本例中爲#DivChecklistListe)「錨定」彈出窗口中的「div」? –