2016-06-02 14 views
1

Ich habe eine Reihe von Konferenzsitzung Informationen als Listview Widget in einer jQuery Mobile App formatiert. Im Moment habe ich in jedem li einen Absatz, der die viel längere Sitzungsbeschreibung enthält und ich habe ihn so gestaltet, dass er angezeigt wird: keine. Ich habe das ganze li in einen Link eingepackt, der im Moment nirgends hinführt. Ich suche nach Hilfe, wie man den versteckten Absatz als Popup-Widget programmatisch öffnet, wenn jemand auf die li klickt. Normalerweise glaube ich, dass Popup-Aktivierungslinks mit der eindeutigen ID eines Div verknüpft sind, die meine vielen Session-Beschreibungen derzeit nicht haben. Und mein Inhalt ist mit - in dem href-Element, nicht getrennt von ihm. Könnte jemand einen weisen Ansatz vorschlagen, um diesen versteckten Absatz aufzudecken? Ich hoffe zu vermeiden, dass ich für jede Beschreibung individuelle IDs erstellen muss und vielleicht sogar vermeiden muss, den Absatz in ein spezielles div für das Popup zu verpacken. Hier ist meine aktuellen li Code ...Aktivieren von Popup in jQuery Mobile

<li class="preconference_1-day"><a href="#"> 
<h3>Conflict Management and Peacebuilding as a Classroom Management Tool</h3> 
<p> Presented by <strong>Some University</strong></p> 
<p>Location: McPherson Lab, Room 1035</p> 
<p class="ui-li-aside"><strong>9:00 AM</strong></p> 
<p style="display:none">Description: Participants will be introduced to a...</p></a> 
</li> 

Ich bin mit jquery-2.2.4 und jquery.mobile-1.4.5

Antwort

1

Eine einfache Möglichkeit ist, die Daten verwenden Attribut die zusätzliche Informationen zu speichern,

zB<li data-extra="Description: The second set..." class="preconference_1-day">

-Code

//The list item click function 
$("#listview > li").on("click", function() { 
//Get whats in the data attribute from item clicked 
var extra = $(this).attr("data-extra"); 
//Empty whats inside the popup, append data, and open the popup 
$("#mypopup").empty().append("<p>"+extra+"</p>").popup("open"); 
}); 

The Popup Widget and all its options

About the data-* attribute

Demo

+1

Nizza auf Tasos! OP könnte immer noch eine versteckte Div mit Ihrer Methode verwenden, vor allem, wenn HTML-Tags innerhalb der Popup-Inhalt gewünscht wird: http://jsfiddle.net/xbj9xabh/1/ – ezanker

+0

@ezanker - ja ich weiß, aber ein bisschen mehr Daten in der DOM obwohl – Tasos

+1

Danke für das Codebeispiel. Während ich anfänglich eher von ezankers Beispiel angezogen war (weniger Änderung in meinem Li-Code für mehrere Elemente), stieß ich auf einige verblüffende Herausforderungen, die mit der Funktion zum Erstellen mobiler Seiten zusammenhingen. Nicht sicher, ob es mein IDE-Vorschaumodus oder was war. Wie auch immer, basierend auf deinen Beispielen bin ich jetzt über die Hürde. Ich schätze die Hilfe! – user3206

Verwandte Themen